Add two new tests for the remsim-server, which simulate what happens
if a client or bankd with identical ID connects twice. We expect
the second connection to get rejected at RSPRO level, and to be closed.
Change-Id: I29023f6b5ba430338c77bf01508c81bd6d8c99fa
Ralated: OS#5527
First, page only on BTS0, not all the BTS. This simplifies the test and
also makes the subscriber be refcounted only on BTS0.
Then, drop the OML connection after receiving all the expected paging
requests; it will make the BSC flush the paging queue and hence avoid
TTCN3 checks erroring due to dangling subscriber talloc contexts.
Change-Id: Ibbd9168f3ac2c1cd4f4577644d75499d49c2823f
If a CRXC message contains optional remote IP and port IEs, the
CRCX ACK received from the BTS is expected to contain its listen
address and port. In some cases osmo-bts may indicate nonsense
addr='0.0.0.0', and indeed the RTP_Emulation component is not gonna
like this. This makes both BTS_Tests.TC_speech_rtp_tch[fh] test
cases fail whenever executed in Docker:
Connection refused (unexpected)
Let's work this around by sending the remote IP and port IEs in
additional MDCX message and omitting them in CRCX. This mimics
osmo-bsc's behavior and makes both test cases pass.
Change-Id: I03453e72f62819989dfe6aa12d8bd889fced1046
Related: OS#5242
Average size of osmo-bts.log after running ttcn3-bts-test is ~178 MB,
and more than 52% (!) of it is the OML logging messages. Other than
making the logfile bigger, bursts of OML messages make it really hard
to follow the output of osmo-bts when running tests natively.
Change-Id: Ib5346a3ca42917169e195f905472ccea7579e5eb
The paging CCCH Load Ind should only be sent when the BTS is over the
threshold, which is not the case when it starts up.
The BSC should underststand that the BTS under threshold and be able to
send paging requests.
Change-Id: I19a97e97ec96ba8ea2e28b1be8ac3b706b43e1b7
This adds new tests:
* TC_cbsp_emerg_write_bts_cgi_noreplace
* TC_cbsp_emerg_write_bts_cgi_replace
* TC_cbsp_emerg_write_bts_cgi_kill
All of the above relate to improved / fixed handling of emergency
broadcasts in some corner cases.
Related: SYS#5906
Related: OS#5539, OS#5540
Change-Id: Ic0f0b3d620f3ca73bab3d45997d0c1b9433ac1f7
A more clear reading of TS 48.049 is that the KILL COMPLETE should
*only* contain a Cell List IE if it relates to an Emergency message;
only the Number of Broadcasts Completed IE indicates successful
cells.
osmo-bsc fixes this in I9a43d386da01f085663d231a555b8b5acc99faca
Change-Id: Ia50e50f9812d9934d35d32b25e1079240df04a82
Related: SYS#5906
The list might be empty because either there were no broadcasts
completed in case of a CBS message, or because it was an emergency
message where this IE is never used.
Change-Id: I2b24ac7e5857bdd50a821399b3c383cea9d408ad
After osmo-bsc Change-Id I1ae6d97152c458247bc538233b97c2d245196359,
initial requests are prioritized over retransmits.
Before that feature was in place, when sending 500 requests in this test
to the BSC, it could happen that the paging scheduler triggered (every
500ms) before all the 500 requests were received at the BSC. As a
result, the scheduler would put some requests to the end of the queue
after sending an initial request for it towards the BTS. If later more
requests where received from TTCN3, they'd be put at the end, after the
retransmissions.
As a result, the emulated BTS would in general receive retranmits for
the first bunch of requests before receiving the initial transmit of the
later requests.
Ths is no longer the case since the osmo-bsc is prioritizing now the
initial requests. Hence, we'll only start receiving retransmits after
all the new paging requests are received.
Depends: osmo-bsc.git I1ae6d97152c458247bc538233b97c2d245196359
Change-Id: I5876f828b43e1e51bd892ce3c9a4dbed6b53f066
On the first TCH, establish Layer 3 so that the BSC will issue a Clear
Request at all.
Verify the cause value of the Clear Request.
Tear down the established Layer 3: clean up for the leak check.
Related: OS#5535
Depends: I20108f7b4769400b89b7b0d65c8dab883bf87c46 (osmo-bsc)
Change-Id: Ib13be73119cfc96712f32899c02e655e1751d547
Rename chan_nr to first_tch, and more clearly show that the TCH that is
released gets assigned to the emergency call.
Related: OS#5534
Change-Id: I0c540d76eedfd4115b410921bf5a0b6c2d00b5c2
A new intermediate component DIAMETER_ConnHdlr_CT is added which extends
the required DIAMETER_ConnHdlr by the DIAMETER_Emulation, and forwards
it to the PGW_Session_CT. This way, the PGW_Session_CT, which usually
runs the test code, will have access to GTP2, Gx and Gy messages for the
session.
Initial Gy support for PGW_Tests is added in follow-up patch.
Change-Id: I28f1ac0a013e479058f28a6feff6901b33f6c247
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
The default AMR link adaptation parameters have been changed in
the recent osmo-bsc, so set the old expected default explicitly.
Change-Id: I320d91a35bc50bdfe87c0384035a10b8672ef23c
Related: osmo-bsc.git Ic5f8d55d250976d8d4c9cae2d89480fd52326717
Related: SYS#5917
I used the construct like f_rnd_octstring(f_rnd_int(100)) in a number
of places to generate random-length packets with randomized length.
The problem I didn't realize is that f_rnd_int() of course can also
return '0', which would generate zero-length packets. This may be
permitted in some protocols, but it leads to problems e.g. when trying
to send a UDP packet of zero length (which the kernel will not do).
So let's introduce
* f_rnd_int_nonzero() for returning non-zero randomized integers
* f_rnd_octstring_rnd_len() for returning a random-length random payload
octet string
* replace all f_rnd_octstring(f_rnd_int()) call sites with the new
function.
Change-Id: I818a113ff8d2a2f7cab2ec7d9c8661607c6331d6
Closes: OS#5528
Release of 256 tuns + threads takes quite a reasonable amount of time.
Let's increase the timeout since reset_all_state can take around 10
seconds sometimes.
Related: OS#5523
Change-Id: Ie01e07bd698cb5c386f757f4ec315f4892ad61cb
Deactivate as_Media() once the handover is completed, so that it does
not fail on the expected MGCP DLCX from release.
Fix fallout seen in these tests:
SCCPlite
BSC_Tests.TC_ho_into_this_bsc
BSC_Tests.TC_ho_into_this_bsc_a5_0
BSC_Tests.TC_ho_into_this_bsc_a5_1
BSC_Tests.TC_ho_into_this_bsc_a5_3
BSC_Tests.TC_ho_into_this_bsc_a5_4
BSC_Tests.TC_ho_into_this_bsc_a5_1_3_no_chosen_enc_alg
BSC_Tests.TC_ho_into_this_bsc_a5_1_3
BSC_Tests.TC_srvcc_eutran_to_geran
BSC_Tests.TC_srvcc_eutran_to_geran_a5_3
BSC_Tests.TC_srvcc_eutran_to_geran_src_sai
BSC_Tests.TC_srvcc_eutran_to_geran_forbid_fast_return
BSC_Tests.TC_ho_into_this_bsc_sccp_cr_without_bssap
All of these tests use f_ho_into_this_bsc().
(It is not clear to me why only the SCCPlite tests show the fallout, the
AoIP should be similarly affected, but isn't.)
The failures were introduced by recent merge of
I0633f60f09d58802f6be0238ef41a632d93a4327, which made as_Media()
stricter by failing on early DLCX.
Related: SYS#5916
Change-Id: Ic5650a48eb3d90f2b42f16685178c97b54473429
Since recenly, osmo-bts is using P_CON_INTERVAL=2 by default. This
means that the MS power loop gets triggered every 4th SACCH block
(1.92s), so we need more time to reach the maximim Tx power.
Change-Id: I9266f7284fcdb0afa3473f575640689e334e89a8
Related: osmo-bts.git I91c505447f68714239a4f033d4f06e91893df201
Related: OS#5517
An emergency call often comes with a Location Request. Make sure
osmo-bsc handles it well.
Related: SYS#5916
Change-Id: I95037374c45943cb14401bc48f16a39c2fcbe1f5
as_Media_mgw() is used to establish a voice stream. If a DLCX happens as
part of that, that should be flagged as a problem.
In fact the Mode Modify test with current osmo-bsc does exhibit a DLCX
right upon the Assignment Complete message, which is a bug fixed in
I5ab10ee7fd9c5d7608e8a06893881d990943feed.
This patch now correctly flags this as a failure.
In the two tests
TC_ho_in_fail_no_detect, TC_ho_in_fail_no_detect2
the expected failure causes expected DLCX, so exempt those.
Related: SYS#5916
Change-Id: I0633f60f09d58802f6be0238ef41a632d93a4327
We don't really act as rely agents in the emulation, so let's not
announce it.
Furthermore, this aids libfreediameter selecting proper routes, since it
seems to only underscore peers not matching the AppId if they are not
rely agents (see dont_send_if_no_common_app() in freeDiameter.git)
Change-Id: I0a9daf094f4c27c0b4de5581ddd56feced8e5732
ranops was not isvalue because bssap_reset_retries was not set and not
explicitly omitted either, so the ran adapter decided not to create a
ran emulation...
Change-Id: Ib2d3f1fbcfbd53af1e627bd2cf36c3153fa7d012
ranops was not isvalue because bssap_reset_retries was not set and not
explicitly omitted either, so the ran adapter decided not to create a ran
emulation...
Change-Id: Ibbef035929ec861fec1e8554460e22650b386f83
bsc-nat introduces a delay that will lead to failed tests, since the
reset attempt happens too early and times out, and the tests do not
retry.
Change-Id: I9f6db2a24e984eef31e76f9d42a80eb6a1bb6928