This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
Harald Welte gerrit-no-reply at lists.osmocom.orgHarald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/12820 Change subject: bsc: Test CSFB "Fast Return" in new TC_chan_rel_hard_clear_csfb ...................................................................... bsc: Test CSFB "Fast Return" in new TC_chan_rel_hard_clear_csfb When a MSC releases a connection using the BSSMAP CLEAR CMD, it can specify that this call was part of CSFB. The BSC is then supposed to add a special IE to the RR RELEASE message which will help the phone to switch back to LTE as soon as possible. This commit adds a new test case testing for exactly that behavior. The test does *not* verify if the EARFCN information contained is actually correct, only that the IE is present in the RR RELEASE. Change-Id: I7501fb25578412c882ff92da5d388f3079bbce7f Requires: osmo-bsc Ibfbb87e2e16b05032ad1cb91c11fad1b2f76d755 Related: OS#3777 --- M bsc/BSC_Tests.ttcn M library/BSSMAP_Templates.ttcn M library/L3_Templates.ttcn 3 files changed, 56 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/20/12820/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 0a36d63..6dd1564 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -856,7 +856,8 @@ boolean expect_deact_sacch := true, boolean expect_rr_chan_rel := true, boolean expect_rll_rel_req := true, - boolean handle_rll_rel := true + boolean handle_rll_rel := true, + boolean is_csfb := false ) runs on test_CT { var RslLinkId main_dcch := valueof(ts_RslLinkID_DCCH(0)); @@ -871,7 +872,11 @@ got_deact_sacch := true; repeat; } - [] IPA_RSL[bts_nr].receive(tr_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0, tr_RSL_DATA_REQ(rsl_chan_nr, ?, decmatch tr_RRM_RR_RELEASE))) { + [is_csfb] IPA_RSL[bts_nr].receive(tr_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0, tr_RSL_DATA_REQ(rsl_chan_nr, ?, decmatch tr_RRM_RR_RELEASE_CSFB))) { + got_rr_chan_rel := true; + repeat; + } + [not is_csfb] IPA_RSL[bts_nr].receive(tr_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0, tr_RSL_DATA_REQ(rsl_chan_nr, ?, decmatch tr_RRM_RR_RELEASE))) { got_rr_chan_rel := true; repeat; } @@ -932,6 +937,29 @@ setverdict(pass); } +/* Test behavior of channel release after Clear Command with CSFB indicator from MSC */ +testcase TC_chan_rel_hard_clear_csfb() runs on test_CT { + var BSSAP_N_DATA_ind rx_di; + var DchanTuple dt; + + f_init(1); + + dt := f_est_dchan('23'O, 23, '00010203040506'O); + + /* Instruct BSC to clear channel */ + var BssmapCause cause := 0; + BSSAP.send(ts_BSSAP_DATA_req(dt.sccp_conn_id, ts_BSSMAP_ClearCommandCSFB(cause))); + + /* expect Clear Complete from BSC on A */ + BSSAP.receive(tr_BSSAP_DATA_ind(dt.sccp_conn_id, tr_BSSMAP_ClearComplete)) { + /* release the SCCP connection */ + BSSAP.send(ts_BSSAP_DISC_req(dt.sccp_conn_id, 0)); + } + + f_expect_chan_rel(0, dt.rsl_chan_nr, expect_rll_rel_req := false, is_csfb := true); + setverdict(pass); +} + /* Test behavior of channel release after hard RLSD from MSC */ testcase TC_chan_rel_hard_rlsd() runs on test_CT { var DchanTuple dt; @@ -3414,6 +3442,7 @@ execute( TC_chan_rel_rll_rel_ind() ); execute( TC_chan_rel_conn_fail() ); execute( TC_chan_rel_hard_clear() ); + execute( TC_chan_rel_hard_clear_csfb() ); execute( TC_chan_rel_hard_rlsd() ); execute( TC_chan_rel_hard_rlsd_ms_dead() ); execute( TC_chan_rel_a_reset() ); diff --git a/library/BSSMAP_Templates.ttcn b/library/BSSMAP_Templates.ttcn index ff151f0..a30b8e7 100644 --- a/library/BSSMAP_Templates.ttcn +++ b/library/BSSMAP_Templates.ttcn @@ -612,6 +612,18 @@ } } } +template (value) PDU_BSSAP ts_BSSMAP_ClearCommandCSFB(BssmapCause cause) +modifies ts_BSSMAP_ClearCommand := { + pdu := { + bssmap := { + clearCommand := { + cSFB_Indication := { + elementIdentifier := '8F'O + } + } + } + } +} template PDU_BSSAP tr_BSSMAP_ClearCommand modifies tr_BSSAP_BSSMAP := { pdu := { diff --git a/library/L3_Templates.ttcn b/library/L3_Templates.ttcn index 0b714d3..6099303 100644 --- a/library/L3_Templates.ttcn +++ b/library/L3_Templates.ttcn @@ -692,6 +692,19 @@ } } +template PDU_ML3_NW_MS tr_RRM_RR_RELEASE_CSFB(template OCT1 cause := ?) modifies tr_RRM_RR_RELEASE := { + msgs := { + rrm := { + channelRelease := { + cellSelectionIndicator := { + elementIdentifier := '77'O, + lengthIndicator := ?, + cellSelectionIndicatorValue := ? + } + } + } + } +} template PDU_ML3_MS_NW ts_ML3_MO := { discriminator := '0000'B, -- To view, visit https://gerrit.osmocom.org/12820 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I7501fb25578412c882ff92da5d388f3079bbce7f Gerrit-Change-Number: 12820 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte <laforge at gnumonks.org> -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20190204/b2f44066/attachment.htm>