In the out-of-this-BSC handover tests, a neighbor config of LAC 99 left
behind from a previous test obstructed the test from working:
% BTS 0 already had neighbor LAC:99 ARFCN-BSIC:123-45
% ERROR: duplicate Cell ID in neighbor config, with differing ARFCN+BSIC: LAC:99 ARFCN-BSIC:123-any
Add a 'no neighbor lac 99' before configuring the neighbor via VTY.
Also add the missing neighbor config to
f_tc_srvcc_eutran_to_geran_ho_out_main().
Affects tests:
BSC_Tests.TC_ho_out_of_this_bsc
BSC_Tests.TC_srvcc_eutran_to_geran_ho_out
BSC_Tests.TC_srvcc_eutran_to_geran_ho_out_forbid_fast_return
Change-Id: I7a7c97a47a06abb59c0d89638c6b503ab66eb359
* t_RSL_IE_ActType_PDCH is actually a constant, not a template.
* tr_RSL_CHAN_ACT_PDCH makes no use of parameter 'mode'.
* Accomplish tr_RSL_CHAN_ACT_PDCH with a send template.
* Use 'present' qualifier for receive template parameters.
Change-Id: Ie62a92daaacf4de5f05dd1f3f5b4a2a5e4ee6dd6
According to feedback received from TITAN developers in
https://www.eclipse.org/forums/index.php?t=msg&th=1106652&goto=1848616&#msg_1848616
the use of alive-type components has the following advantage:
> Also the DTE during the shutdown can be avoided to use alive type
> components. The test ports of the alive components are not
> disconnected/unmapped when the component finished only when killed or
> the MTC terminated.
So the idea of this patch is to use alive-type components for all the
underlying infrastructure, such as the *_Emulation_CT starting from M3UA
to SCCP and further up the stack. This way, only the MTC and the
highest level of components (such as ConnHdlr) remain as normal
components.
The hope is that using more alive-type components in the lower protocol
layer emulations will reduce the probability of DTE during shutdown if
some message is received during the component shutdown after the MTC
has completed.
Change-Id: I61d791d6d1bfe9226aabbe223baafc5f8f6d4f04
Using the same IMSI in each test case makes it harder to correlate
subscriber connections in the SUT with particular test cases. A
good example is a problem described in OS#5337: some test cases
create dangling subscriber entries that never got released:
OsmoBSC# show subscriber all
IMSI TMSI Use
001019876543210 ffffffff 3 (3*paging-start)
001010000100001 ffffffff 1 (conn)
With this patch I am getting the following output:
OsmoBSC# show subscriber all
IMSI TMSI Use
001016017428234 ffffffff 1 (paging-start)
001014631230680 ffffffff 1 (paging-start)
001011161500382 ffffffff 1 (paging-start)
001010000100001 ffffffff 1 (conn)
so I was able to correlate the following test cases:
* (001016017428234) TC_lcs_loc_req_for_active_ms_ta_req,
* (001014631230680) TC_lcs_loc_req_for_active_ms_le_timeout2,
* (001011161500382) TC_cm_service_during_lcs_loc_req,
* (001010000100001) TC_no_msc.
Change-Id: Ie008b5566b207b13cd562c55625bad38c09b3927
Related: OS#5337
This change fixes sporadic failures of TC_cm_serv_rej:
RAN Connection table not found by component TC_cm_serv_rej(2648)
BSC_Tests.ttcn:11106 BSC_Tests control part
BSC_Tests.ttcn:10550 TC_cm_serv_rej testcase
The reason is that sometimes a BSSAP/DTAP PDU (with CM Service Reject)
gets enqueued before the SUT has established an SCCP connection to the
virtual MSC. This causes a lookup error in the RAN connection table.
A simple solution would be to add a receive statement after calling
f_create_chan_and_exp(), like it's done everywhere else:
f_create_chan_and_exp();
BSSAP.receive(tr_BSSMAP_ComplL3); // <---
But a more general solution is to expect and receive this message in
f_create_chan_and_exp(), so we can reduce code duplication and make
the API more convinient. This is exactly what this change does.
Change-Id: Ic675168e29919e1234cb49440c4a630238ff5d70
Related: SYS#4878
Verify the BTS level assignment:attempted_speech / _sign as well as
assignment:completed_speech / _sign counters, in four selected
assignment tests (fr, hr, amr_f, amr_h).
Shows a bug where we counted a speech assignment as
assignment:completed_sign.
Related: SYS#4878
Depends: Ie9fcd1e86f27ecb2f11e2e8813faac365cb470b8 (osmo-bsc)
Change-Id: Icb1386ec2ccd70eb3c026301b9b08ad7177278f7
Test the new bsc.N.paging:expired stat in TC_paging_counter too.
Depends: osmo-bsc I9c118e7e3d61ed8c9f1951111255b196905eba4d
Related: SYS#4878
Change-Id: I8931bf1bc2f4e0d4b168168cdb83683bb350d961
So far all handover tests trigger handover via VTY command. This means
that any bugs introduced in measurement report handling and handover
target selection are by definition not caught.
Almost a year ago, fixing a handover oscillation bug for intra-BSC
handover introduced a segfault for inter-BSC handover targets, because
for those the target.bts is NULL. Show this bug.
Related: OS#5324 SYS#5259
Related: I5a3345ab0005a73597f5c27207480912a2f5aae6 (osmo-bsc)
Change-Id: Iba033c32015173f57dbb1c211aefab1a9094e29d
As can be seen from ttcn3-bsc-test run #1565 on Jenkins [1], it may
happen that the VTY command requesting handover reaches the IUT earlier
than the SCCP 'SACK CC' message. In this case, the 'SUBSCR_CONN' FSM
remains in state 'WAIT_CC', so we get an error:
(bts=0,trx=0,ts=0,ss=0) (ARFCN 871) --> BTS 1 Manually triggering Handover from VTY
SUBSCR_CONN(msc0-conn204)[0x5633b2877af0]{WAIT_CC}: Received Event HANDOVER_START
SUBSCR_CONN(msc0-conn204)[0x5633b2877af0]{WAIT_CC}: Event HANDOVER_START not permitted
The easiest way to avoid this is to introduce and artificial delay
after the connection establishment and before triggering the handover.
[1] https://jenkins.osmocom.org/jenkins/view/TTCN3/job/ttcn3-bsc-test/1565/
Change-Id: I19f7ca942e22d7930a56d1a525414f137a9ef831
Make the test more stable by sleeping a bit before stopping all
components. Also reduce the f_sleep(3.0), an accidental leftover from
initial debugging.
Related: SYS#4878
Change-Id: I005af13baac4bca2a431b09b2a6bbfe7077342e0
This test case fails in ttcn3-bsc-test-sccplite due to:
BSC_Tests.ttcn:10212 Dynamic test case error:
Using the value of an optional field containing omit.
Change-Id: I235027c2b53b8f2ae975e25eb7c38b1959668d6f
Related: SYS#5627
The function f_TC_fh_params_set sets frequency hopping parameters. The
ARFCN is also part of those parameters. However, this function does not
set the respective band for the ARFCN that it configurs. This results in
an invalid setting at the BSC that might cause unexpected behavior.
Lets make sure we configure the band parameter correctly before setting
the ARFCN
Change-Id: I447e4145c68c62b11b818e28f0081c19e9107647
Related: SYS#5369
For intra-BSC handovers, also verify the correct Training Sequence Code
in the RR Handover Command (not only in the Channel Activation as added
in previous patch).
Related: SYS#4895 OS#5244
Related: Iae20df4387c3d75752301bd5daeeea7508966393 (osmo-bsc)
Change-Id: I32e3553581eb17812082f1f2ee96cc978e8db668
OS#5244 reports an error in the Training Sequence Code used in the
Channel Activation for a handover target channel. Verify the TSC to
uncover this bug.
Related: SYS#4895, OS#5244
Related: Iae20df4387c3d75752301bd5daeeea7508966393 (osmo-bsc)
Change-Id: I1ed6f068c85b01e5a2d7b5f2651498a1521f89af
Reduce code (comment) dup by having one const definition for default
TSCs instead of magic numbers.
Will add another use of this in upcoming patch testing correct TSC in
handover.
Related: SYS#4895
Change-Id: I3733ebbbfd74630e095a08b83023974aad177b34
Reproduce a segfault happening when the SDCCH (primary) lchan is lost
in-between a TCH Channel Activ and its Channel Activ Ack.
Related: SYS#5627
Related: I3b1cd88bea62ef0032f6c035bac95d3df9fdca7a (osmo-bsc)
Change-Id: I81cccdea450885d5241cab62000ad355d464dd49
In SCCPlite, there is only one DLCX. Turns out the DLCX doesn't have to
be part of the interlave, just call f_expect_dlcx_conns() which takes
care of AoIP vs SCCPlite expectations.
Related: SYS#4895
Change-Id: Id8931185dfa9f229ca7af033a97cabd040db0c2a
Fix SCCPlite run of TC_cm_reestablishment.
I'm not sure why it works for AoIP before this patch, but now it works
for both SCCPlite and AoIP.
Related: SYS#5130
Change-Id: I1c87272c5bb1ac452927054a9eef104d795e02f8
Avoid test breakage in ttcn3-bsc-test-sccplite, due to different
osmo-bsc configuration.
Related: SYS#5542
Change-Id: Iaf976ac12dbb2ee1930a7acfcf3cb452db34beed
I want to add tests that verify the stat items reflecting the MSC
connection status. To be able to run a test expecting fewer connected
MSC after a test that launched more MSCs requires the links to be reset.
Related: SYS#5542
Depends: I1975941b790d2b30d0904d41e456220cba26ecff (osmo-bsc)
Change-Id: Ice3056dc46c94f9399f8379db7aeb7193782f2f2
Add a delay between sending the RSL Conn Fail IND and checking the stats
values, so that osmo-bsc has a good chance of receiving the message and
promoting the failure into the stats values first.
Even though jenkins shows no failures, when testing locally, this test
fails a lot for me without that bit of delay.
Change-Id: Iaf0173239528337283b23f70840d36ad25f14950
Also test the early IA feature for non-dyn TS in 'pre-ts-ack' mode, for
completeness' sake.
Related: SYS#5559
Change-Id: I6ba84b4b618dd99ec2095aaf611209e525f2b5f4
Tests have shown that the Training Sequence Set was not correct in early
IMM ASS messages. Add validation of the TSC and ARFCN in IMM ASS
messages for all early IA related tests. This makes the tests fail.
Related osmo-bsc patch linked below makes the tests pass again.
Related: SYS#5559
Related: I9f26074154600d854a0b3baee2f38a6666f4cb56 (osmo-bsc)
Change-Id: I4479244b0c53648e62e84e1ebf986f51d659484f
The mentioned bug was fixed 3 years ago, and there are already lots of
tests below so remove the comment.
Related: OS#3182
Change-Id: I3df4dbd1647dae78eccd31c49c3aec3cf9e12a6f
Test the experimental 'immediate-assignment pre-ts-ack' implemented in
I19e6a3d614aa5ae24d64eed96caf53e6f0e8bb74
Related: SYS#5559
Change-Id: I2ae28cd92910d4bc341a88571599347a64a18fe5
Add tests for the new early IMM ASS feature in osmo-bsc:
'immediate-assignment (post-chan-ack|pre-chan-ack)'
Related: 0b44493d3de03d2750527e224df67b473fe39f93 (osmo-bsc)
Related: SYS#5559
Change-Id: If71f4562d532b6c5faf55f5fd073449a8a137ebf
So far the test ran both lchans on bts 0, which is not really a
realistic scenario for a CM Re-Establishment Request. Move the second
channel to bts 1, using various RSL port args added recently.
Change-Id: Ia930f7b8986ba27c5f507478dbff0a2942f207d8
So far we were often just expecting the message type. Instead expect a
release on the proper channel number.
While hunting a test error, this confused me for a while, because a
missing handler resulted in the release message handled in the wrong
place, even though the chan_nr mismatched.
Related: SYS#5130
Change-Id: I002c9273a387104bea062dec8879b4e19a72008d
To be able to run tests on a cell other than bts 0, there needs to be a
way to select the RSL_DCHAN_PT and RSLEM_PROC_PT in various places.
Upcoming BSC_Tests.TC_cm_reestablishment depends on this, to be able to
run through an Assignment on bts 1.
Related: SYS#5130
Change-Id: Ia14f46d4e5e8d4722224b97c346c0cb7973fff97