pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/28608 )
Change subject: bsc_cbsp: Support receiving CGI as cellID in CBSP Reset and Failure Ind ......................................................................
bsc_cbsp: Support receiving CGI as cellID in CBSP Reset and Failure Ind
New versions of osmo-bsc send CGI instead of LAC+CI, which provides more information (PLMN).
Related: SYS#5910 Change-Id: I48e86150f499f0f458f75f132087319d80f86448 --- M bsc/BSC_Tests_CBSP.ttcn M library/CBSP_Templates.ttcn 2 files changed, 31 insertions(+), 8 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/08/28608/1
diff --git a/bsc/BSC_Tests_CBSP.ttcn b/bsc/BSC_Tests_CBSP.ttcn index 1373002..1e7421e 100644 --- a/bsc/BSC_Tests_CBSP.ttcn +++ b/bsc/BSC_Tests_CBSP.ttcn @@ -547,6 +547,8 @@ * unlocked again. */ testcase TC_cbsp_cell_rflock_failure_restart() runs on cbsp_test_CT { var template CBSP_PDU rx; + var template (present) CBSP_FailureListItem fli_exp; + var template (present) BSSMAP_FIELD_CellIdentificationList cil_exp;
g_pars := valueof(ts_CBSP_Pars_default(false, 0, 0)); f_init(); @@ -554,9 +556,12 @@ /* Lock the TRX, CBCH should become unavailable and BSC send FAILURE */ f_ctrl_set(IPA_CTRL, "bts.0.trx.0.rf_locked", "1");
- rx := tr_CBSP_FAILURE({CBSP_FailureListItem_LAC_CI(bssmap_lac_ci(mp_cgi_bts0), - CBSP_CAUSE_CB_NOT_OPERATIONAL)}, - CBSP_BC_MSGT_CBS); + /* Expect receiving either CGI or LAC+CI: */ + fli_exp := (CBSP_FailureListItem_CGI(bssmap_cgi(mp_cgi_bts0), + CBSP_CAUSE_CB_NOT_OPERATIONAL), + CBSP_FailureListItem_LAC_CI(bssmap_lac_ci(mp_cgi_bts0), + CBSP_CAUSE_CB_NOT_OPERATIONAL)); + rx := tr_CBSP_FAILURE({fli_exp}, CBSP_BC_MSGT_CBS); alt { [] CBSP[0].receive(tr_CBSP_Recv(g_cbsp_conn_id[0], rx)) { setverdict(pass); @@ -569,8 +574,10 @@
/* Unlock the TRX, CBCH should become available and BSC send RESTART */ f_ctrl_set(IPA_CTRL, "bts.0.trx.0.rf_locked", "0"); - rx := tr_CBSP_RESTART(ts_BSSMAP_CIL_LAC_CI({bssmap_lac_ci(mp_cgi_bts0)}), - CBSP_BC_MSGT_CBS, ?); + /* Expect receiving either CGI or LAC+CI: */ + cil_exp := (ts_BSSMAP_CIL_CGI({bssmap_cgi(mp_cgi_bts0)}), + ts_BSSMAP_CIL_LAC_CI({bssmap_lac_ci(mp_cgi_bts0)})); + rx := tr_CBSP_RESTART(cil_exp, CBSP_BC_MSGT_CBS, ?); alt { [] CBSP[0].receive(tr_CBSP_Recv(g_cbsp_conn_id[0], rx)) { setverdict(pass); @@ -587,6 +594,7 @@ /* Test if a LAC_CI FAILURE Ind is sent when conn of TRX holding the CBCH goes down. */ testcase TC_cbsp_cell_rsl_down_failure() runs on cbsp_test_CT { var template CBSP_PDU rx; + var template (present) CBSP_FailureListItem fli_exp;
g_pars := valueof(ts_CBSP_Pars_default(false, 0, 0)); f_init(); @@ -594,9 +602,12 @@ /* Drop RSL link of the TRX holding the CBCH: */ f_ipa_rsl_stop(bts[0][0].rsl);
- rx := tr_CBSP_FAILURE({CBSP_FailureListItem_LAC_CI(bssmap_lac_ci(mp_cgi_bts0), - CBSP_CAUSE_CB_NOT_OPERATIONAL)}, - CBSP_BC_MSGT_CBS); + /* Expect receiving either CGI or LAC+CI: */ + fli_exp := (CBSP_FailureListItem_CGI(bssmap_cgi(mp_cgi_bts0), + CBSP_CAUSE_CB_NOT_OPERATIONAL), + CBSP_FailureListItem_LAC_CI(bssmap_lac_ci(mp_cgi_bts0), + CBSP_CAUSE_CB_NOT_OPERATIONAL)); + rx := tr_CBSP_FAILURE({fli_exp}, CBSP_BC_MSGT_CBS); alt { [] CBSP[0].receive(tr_CBSP_Recv(g_cbsp_conn_id[0], rx)) { setverdict(pass); diff --git a/library/CBSP_Templates.ttcn b/library/CBSP_Templates.ttcn index 2d70256..6ff2742 100644 --- a/library/CBSP_Templates.ttcn +++ b/library/CBSP_Templates.ttcn @@ -134,6 +134,18 @@ list := items }});
+template (present) CBSP_FailureListItem CBSP_FailureListItem_CGI( + template (present) BSSMAP_FIELD_CellIdentification_CGI cgi := ?, + template (present) CBSP_Cause cause := ?) := +{ + spare1_4 := '0000'B, + cell_id_discr := '0000'B, + cell_id := { + cI_CGI := cgi + }, + cause := cause +}; + template (present) CBSP_FailureListItem CBSP_FailureListItem_LAC_CI( template (present) BSSMAP_FIELD_CellIdentification_LAC_CI lac_ci := ?, template (present) CBSP_Cause cause := ?) :=