laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/27791 )
Change subject: bsc: Expect number-of-broadcadsts-completed-list in CBSP KILL COMPLETE ......................................................................
bsc: Expect number-of-broadcadsts-completed-list in CBSP KILL COMPLETE
When responding to a CBSP KILL with a CBSP KILL COMPLETE, make sure we include the optional "Number of Broadcasts Completed List" IE in order to inform the CBC about how many times the just-killed message had been broadcast before it was killed.
It seems some CBCs expect this IE to be present, while 3GPP TS 48.049 lists it as optional. osmo-bsc is including this IE as of Change-Id I47aebd613dfc6dd9261ea9019a51aff0cd6470d8
This change updates the test suite to expect this IE to be included.
Change-Id: I5b56676c93479ec7b32cff66c9738fff7d0228cf Related: SYS#5906 --- M bsc/BSC_Tests_CBSP.ttcn 1 file changed, 11 insertions(+), 5 deletions(-)
Approvals: laforge: Looks good to me, approved fixeria: Looks good to me, but someone else must approve Jenkins Builder: Verified
diff --git a/bsc/BSC_Tests_CBSP.ttcn b/bsc/BSC_Tests_CBSP.ttcn index 0d8fb38..b291546 100644 --- a/bsc/BSC_Tests_CBSP.ttcn +++ b/bsc/BSC_Tests_CBSP.ttcn @@ -355,6 +355,7 @@ function f_cbsp_kill(uint16_t msg_id, uint16_t ser_no, template (omit) uint8_t channel_ind := 0, template (value) BSSMAP_FIELD_CellIdentificationList cell_list := ts_BSSMAP_CIL_BSS, template BSSMAP_FIELD_CellIdentificationList success_list := ?, + template CBSP_IE_NumBcastComplList compl_list := *, template CBSP_FailureListItems fail_list := omit) runs on cbsp_test_CT { var template (value) CBSP_PDU tx; @@ -363,10 +364,10 @@ tx := ts_CBSP_KILL(msg_id, ser_no, cell_list, channel_ind); CBSP[0].send(ts_CBSP_Send(g_cbsp_conn_id[0], tx)); if (istemplatekind(fail_list, "omit")) { - rx := tr_CBSP_KILL_COMPL(msg_id, ser_no, compl_list:=*, cell_list:=success_list, + rx := tr_CBSP_KILL_COMPL(msg_id, ser_no, compl_list:=compl_list, cell_list:=success_list, channel_ind:=channel_ind); } else { - rx := tr_CBSP_KILL_FAIL(msg_id, ser_no, fail_list, compl_list:=*, cell_list:=success_list, + rx := tr_CBSP_KILL_FAIL(msg_id, ser_no, fail_list, compl_list:=compl_list, cell_list:=success_list, channel_ind:=channel_ind); } alt { @@ -784,7 +785,7 @@ f_init();
cell_list := ts_BSSMAP_CIL_LAC_CI({bssmap_lac_ci(mp_cgi_bts0)}); - f_cbsp_kill(g_cbsp_msg_id, g_cbsp_ser_no, 0, cell_list, success_list:=omit, fail_list:=?); + f_cbsp_kill(g_cbsp_msg_id, g_cbsp_ser_no, 0, cell_list, success_list:=omit, compl_list:=omit, fail_list:=?); } /* Write a message, then kill it */ testcase TC_cbsp_write_then_kill() runs on cbsp_test_CT { @@ -793,9 +794,14 @@ g_pars := valueof(ts_CBSP_Pars_default(false, 13001, 13501)); f_init();
+ /* write message, request more than one transmission on BTS0 */ cell_list := ts_BSSMAP_CIL_LAC_CI({bssmap_lac_ci(mp_cgi_bts0)}); - f_cbsp_write(g_cbsp_msg_id, g_cbsp_ser_no, cell_list, content:=pages, success_list:=?, fail_list:=omit); - f_cbsp_kill(g_cbsp_msg_id, g_cbsp_ser_no, 0, cell_list, success_list:=?, fail_list:=omit); + f_cbsp_write(g_cbsp_msg_id, g_cbsp_ser_no, cell_list, num_bcast_req := 5, content:=pages, success_list:=?, fail_list:=omit); + /* expect to receive it once on the BTS */ + var template (present) RSL_Message tr := f_page2rsl(pages[0], g_cbsp_msg_id, g_cbsp_ser_no); + IPA_RSL[0].receive(tr_ASP_RSL_UD(tr)); + /* kill it, expecting non-empty completion list */ + f_cbsp_kill(g_cbsp_msg_id, g_cbsp_ser_no, 0, cell_list, success_list:=?, compl_list:=?, fail_list:=omit); }
/* Write a message, then reset all messages */