diff options
author | Harald Welte <laforge@osmocom.org> | 2022-04-14 15:33:58 +0200 |
---|---|---|
committer | laforge <laforge@osmocom.org> | 2022-04-15 04:54:10 +0000 |
commit | 39128952603d5dd1c96ff5735d47e7fee9a059a5 (patch) | |
tree | cc40c4a0f985e5b436727fc0e07630e22f8ab352 | |
parent | 5ac8f31b38365bc3338a47afa08b6f34e4e96e14 (diff) |
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
-rw-r--r-- | bsc/BSC_Tests_CBSP.ttcn | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/bsc/BSC_Tests_CBSP.ttcn b/bsc/BSC_Tests_CBSP.ttcn index 0d8fb386..b291546c 100644 --- a/bsc/BSC_Tests_CBSP.ttcn +++ b/bsc/BSC_Tests_CBSP.ttcn @@ -355,6 +355,7 @@ function f_cbsp_replace(uint16_t msg_id, uint16_t new_ser_no, uint16_t old_ser_n 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 @@ function f_cbsp_kill(uint16_t msg_id, uint16_t ser_no, template (omit) uint8_t c 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 @@ testcase TC_cbsp_kill_nonexist() runs on cbsp_test_CT { 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 @@ testcase TC_cbsp_write_then_kill() runs on cbsp_test_CT { 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 */ |