diff options
author | Vadim Yanitskiy <vyanitskiy@sysmocom.de> | 2020-10-01 21:12:19 +0700 |
---|---|---|
committer | Vadim Yanitskiy <vyanitskiy@sysmocom.de> | 2020-10-03 03:40:03 +0700 |
commit | 61f784a436c4b59239df65ac37ce25acaaddeff6 (patch) | |
tree | af3659c77471c95332bcc5714fc70c12325821d0 | |
parent | 0033a3b4e81f360a4b159a2abf4eab77117da1af (diff) |
BSC_Tests: introduce TC_tch_dlci_link_id_sapi for OS#3716
The aim of this test case is to verify DLCI / RSL Link ID conversion
for MO/MT L3 messages on SAPI0/SAPI3. In particular, the test suite
verifies the following scenarios:
- RSL -> BSSAP:
- 16 MO messages on FACCH/F with SAPI0,
- 16 MO messages on SACCH/F with SAPI3;
- BSSAP -> RSL:
- 16 MT messages on FACCH/F with SAPI0,
- 16 MT messages on SACCH/F with SAPI3.
Change-Id: Ica69ae95b47a67ba99ba9cc36629b6bd210d11e4
Related: OS#3716
-rw-r--r-- | bsc/BSC_Tests.ttcn | 59 | ||||
-rw-r--r-- | bsc/expected-results.xml | 1 |
2 files changed, 60 insertions, 0 deletions
diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 0632852a..20fcf367 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -2024,6 +2024,62 @@ testcase TC_rll_est_ind_inval_sacch() runs on test_CT { f_shutdown_helper(); } +/* Verify DLCI / RSL Link ID conversion for MO/MT messages on SAPI0/SAPI3 */ +private function f_TC_tch_dlci_link_id_sapi(charstring id) runs on MSC_ConnHdlr { + var template PDU_BSSAP exp_compl := f_gen_exp_compl(); + var PDU_BSSAP ass_cmd := f_gen_ass_req(); + + ass_cmd.pdu.bssmap.assignmentRequest.channelType := valueof(ts_BSSMAP_IE_ChannelType); + ass_cmd.pdu.bssmap.assignmentRequest.codecList := valueof(ts_BSSMAP_IE_CodecList({ts_CodecFR})); + + f_establish_fully(ass_cmd, exp_compl); + + /* SAPI0 has already been established by f_establish_fully(), establish SAPI3 */ + RSL.send(ts_RSL_EST_IND(g_chan_nr, ts_RslLinkID_SACCH(3), '0904'O)); + /* Expect BSSAP/DTAP on SAPI3 (DLCI IE) */ + BSSAP.receive(PDU_BSSAP:{ + discriminator := '1'B, + spare := '0000000'B, + dlci := 'C3'O, + lengthIndicator := ?, + pdu := { dtap := '0904'O } + }); + + /* Send messages on DCCH/SAPI0 and ACCH/SAPI3 */ + for (var integer i := 0; i < 32; i := i + 1) { + var octetstring l3 := '09'O & f_rnd_octstring(14); + var template (value) RslLinkId link_id; + var template (value) OCT1 dlci; + + if (i mod 2 == 0) { + /* SAPI0 on FACCH or SDCCH */ + link_id := ts_RslLinkID_DCCH(0); + dlci := '80'O; + } else { + /* SAPI3 on SACCH */ + link_id := ts_RslLinkID_SACCH(3); + dlci := 'C3'O; + } + + /* Send MO message: RSL -> BSSAP */ + f_mo_l3_transceive(link_id, dlci, l3); + /* Send MT message: BSSAP -> RSL */ + f_mt_l3_transceive(link_id, dlci, l3); + } +} +testcase TC_tch_dlci_link_id_sapi() runs on test_CT { + var TestHdlrParams pars := f_gen_test_hdlr_pars(); + var MSC_ConnHdlr vc_conn; + + f_init(1, true); + f_sleep(1.0); + + vc_conn := f_start_handler(refers(f_TC_tch_dlci_link_id_sapi), pars); + vc_conn.done; + + f_shutdown_helper(); +} + private function f_exp_sapi_n_reject(template (present) GsmSapi sapi := ?, template myBSSMAP_Cause cause := ?, float T_val := 2.0) @@ -7624,6 +7680,9 @@ control { execute( TC_rll_est_ind_inval_sapi3() ); execute( TC_rll_est_ind_inval_sacch() ); + /* DLCI / RSL Link ID conversion for MO/MT messages on SAPI0/SAPI3 */ + execute( TC_tch_dlci_link_id_sapi() ); + /* SAPI N Reject triggered by RLL establishment failures */ execute( TC_rll_rel_ind_sapi_n_reject() ); execute( TC_rll_err_ind_sapi_n_reject() ); diff --git a/bsc/expected-results.xml b/bsc/expected-results.xml index 5221eaef..6ab542a8 100644 --- a/bsc/expected-results.xml +++ b/bsc/expected-results.xml @@ -88,6 +88,7 @@ <testcase classname='BSC_Tests' name='TC_rll_est_ind_inval_sapi1' time='MASKED'/> <testcase classname='BSC_Tests' name='TC_rll_est_ind_inval_sapi3' time='MASKED'/> <testcase classname='BSC_Tests' name='TC_rll_est_ind_inval_sacch' time='MASKED'/> + <testcase classname='BSC_Tests' name='TC_tch_dlci_link_id_sapi' time='MASKED'/> <testcase classname='BSC_Tests' name='TC_rll_rel_ind_sapi_n_reject' time='MASKED'/> <testcase classname='BSC_Tests' name='TC_rll_err_ind_sapi_n_reject' time='MASKED'/> <testcase classname='BSC_Tests' name='TC_rll_timeout_sapi_n_reject' time='MASKED'/> |