jolly has uploaded this change for review.
BTS_Test_ASCI: Add Listener detection test
The MS sends UPLINK ACCESS. The BTS send RSL Listener DET message.
Another MS send UPLINK ACCESS. The BTS does not send another RSL
Listener DET message.
Change-Id: I544f492a32751d17f998a2143081c3763ba1dd29
---
M bts/BTS_Tests_ASCI.ttcn
1 file changed, 92 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/20/33820/1
diff --git a/bts/BTS_Tests_ASCI.ttcn b/bts/BTS_Tests_ASCI.ttcn
index 06e6563..2022bdd 100644
--- a/bts/BTS_Tests_ASCI.ttcn
+++ b/bts/BTS_Tests_ASCI.ttcn
@@ -329,11 +329,90 @@
Misc_Helpers.f_shutdown(__BFILE__, __LINE__);
}
+private function f_TC_vgcs_listener_det(charstring id) runs on ConnHdlr
+{
+ var octetstring uplink_access := '25'O;
+ var RSL_Message rm;
+ var GsmFrameNumber fn;
+
+ f_l1_tune(L1CTL);
+ RSL.clear;
+
+ /* Activate channel on the BTS side. */
+ log("Activating VGCS channel.");
+ f_rsl_chan_act(g_pars.chan_mode);
+
+ /* Enable dedicated mode. */
+ f_l1ctl_est_dchan(L1CTL, g_pars);
+
+ /* Send UPLINK ACCESS on VGCS channel. */
+ log("Send UPLINK ACCESS.");
+ fn := f_L1CTL_RACH(L1CTL, oct2int(uplink_access), chan_nr := g_pars.chan_nr);
+
+ /* Wait for listener detection. */
+ timer T := 2.0;
+ T.start;
+ alt {
+ [] RSL.receive(tr_RSL_LISTENER_DET(g_pars.chan_nr, ?)) -> value rm {
+ log("RSL Talker Listener has been detected: ", rm);
+ T.stop;
+ }
+ [] RSL.receive(tr_RSL_CHAN_RQD(?, ?, ?, ?)) -> value rm {
+ setverdict(fail, log2str("RSL_CHAN_RQD was not expected: ", rm));
+ T.stop;
+ }
+ [] RSL.receive { repeat; }
+ [] T.timeout {
+ setverdict(fail, "Timeout waiting for RSL Listener Detect.");
+ }
+ }
+
+ /* Send UPLINK ACCESS on VGCS channel. */
+ log("Send second UPLINK ACCESS.");
+ fn := f_L1CTL_RACH(L1CTL, oct2int(uplink_access), chan_nr := g_pars.chan_nr);
+
+ /* Wait for listener detection. */
+ T.start;
+ alt {
+ [] RSL.receive(tr_RSL_LISTENER_DET(g_pars.chan_nr, ?)) {
+ setverdict(fail, "RSL Listener Detect has been detected, but not expected!");
+ T.stop;
+ }
+ [] RSL.receive(tr_RSL_CHAN_RQD(?, ?, ?, ?)) -> value rm {
+ setverdict(fail, log2str("RSL_CHAN_RQD was not expected: ", rm));
+ T.stop;
+ }
+ [] RSL.receive { repeat; }
+ [] T.timeout {
+ log("Timeout waiting for RSL Listener Detect, as expected.");
+ }
+ }
+
+ /* Deactivate and cleanup. */
+ f_vgcs_cleanup();
+}
+testcase TC_vgcs_listener_det() runs on test_CT
+{
+ var template RSL_IE_ChannelMode ch_mode;
+ var ConnHdlrPars pars;
+ var ConnHdlr vc_conn;
+
+ f_init();
+
+ ch_mode := ts_RSL_ChanMode(RSL_CHRT_TCH_F_GROUP, RSL_CMOD_SP_GSM1);
+ pars := valueof(t_Pars(t_RslChanNr_Bm(1), ch_mode));
+ vc_conn := f_start_handler(refers(f_TC_vgcs_listener_det), pars);
+ vc_conn.done;
+
+ Misc_Helpers.f_shutdown(__BFILE__, __LINE__);
+}
+
control {
execute( TC_vbs_notification() );
execute( TC_vgcs_uplink_free_and_busy() );
execute( TC_vgcs_talker_fail() );
execute( TC_vgcs_talker_est_rel() );
+ execute( TC_vgcs_listener_det() );
}
To view, visit change 33820. To unsubscribe, or for help writing mail filters, visit settings.