Age | Commit message (Collapse) | Author | Files | Lines |
|
bsc: add TC_bssmap_clear_does_not_cause_bssmap_reset(), but the same triggered
by an MS Rel Ind and a BSSMAP Clear Request sent to the MSC first.
This test will only succeed once TC_chan_rel_rll_rel_ind() succeeds, i.e. with
below osmo-bsc fix.
Related: OS#3041
Depends: I0f8c9c4e6b6850b15c70250fd3f88bdf75f9accf (osmo-bsc)
Change-Id: Ie4aa2f01c83b40303fa40ed64dbfce372b7cd96c
|
|
This test sends a REL IND from the MS and immediately expects an lchan release.
Instead, osmo-bsc patch I0f8c9c4e6b6850b15c70250fd3f88bdf75f9accf decides to
signal full BSSMAP Clear Request to the MSC first, so expect that first.
Note that this test currently fails, and said osmo-bsc.git patch will make this
test pass.
Change-Id: I737be141b69a250eb6eb38007f8042981c1a31cf
|
|
Same as TC_bssmap_rlsd_does_not_cause_bssmap_reset(), but with a proper BSSMAP
Clear from the MSC first.
Related: OS#3041
Change-Id: If6ca85d7b80a727cbfdabbf07529ced22602734e
|
|
A test with BSSMAP Clear involved would also be a nice addition, but this so
far tests a direct RLSD from the MSC.
(One way to invoke a typical release situation would be a scenario like in
TC_chan_rel_rll_rel_ind(), but that test currently fails; another would be to
directly invoke a BSSMAP Clear from the MSC first.)
Related: OS#3041
Change-Id: I168cf240383485a5ffbbde377b4f89c5d1f5ab93
|
|
If the T_guard runs out, unless we self.stop, we might run into this
potentially confusing follow-up error:
00:23:04.206712 mtc BSC_Tests.ttcn:322 Dynamic test case error: Copying an unbound value of type @RSL_Types.RSL_Message.
00:23:04.206778 mtc BSC_Tests.ttcn:322 setverdict(error): fail -> error
Change-Id: I1d373159483bdd9f74e8944e430913e73c289e03
|
|
The altstep as_handover does not exit as each of its branches is
equipped with a repeat statement on the end. This trapps us in
an endless loop.
- remove the repeat statement at the last logical step which is
at the RSL_REL_REQ.
Change-Id: I8cb57a9fef606f459542708206f5ea4de1def7a1
|
|
Currently we use isbound() in f_start_handler() to check if the BTS
which we want to connect is indeed populated. However. isbound()
seems never become true in this particular situation.
- Use isvalue() instead of isbound()
Change-Id: I25ddd55b7626087570311999b85ec7632b162c06
|
|
When the test component ends and the underlaying
components are shut down. Messages from the system
under test may still be picked up and forwared. When
a message is handed from one component to one that
is already shut down, the testcase is flagged as
errornous setverdict(error).
An idea to fix thisis to stop all test ports using
all port.stop. However, this does not solve the
problem entirely. We still observing errors.
- add f_shutdown_helper() and call it from the
end of each testcase
- perform an all port.stop; in f_shutdown_helper()
to freeze all communications between the ports
of the different components.
Change-Id: Id3bc840c0428d08dfbeedacc408b3dd1cd0fa7ec
|
|
The testcase TC_paging_imsi_a_reset sends a paging request that
causes pagings on all cells. Then it performs a BSSMAP reset and
checks if the paging has stopped. In order to be sure that paging
requests from before the reset procedure are not mistakenly
detected as after-reset-pagings the RSL queue is cleared. However
this is only done for IPA_RSL[0], which means IPA_RSL[1] and
IPA_RSL[2] still contain old paging requests, which lets the test
fail.
- Clear IPA_RSL[1] and IPA_RSL[2] as well.
Change-Id: If0cdc0325fd0e1dcf3e4ce52e4de27adb4d9cf48
|
|
RSL_Emulation has recently gained a port for the common channel
management messages, but BSC_Tests was not updated with this port,
resulting in RSL_Emulation enqueuing messages to the port which then
creates dynamic test case failures.
Let's simply connect to the port, even though we currently are not
interested in any of the messages received there (mainly
RSL_MT_BCCH_INFO during startup).
Change-Id: Id8a3c4409599783ca4cd0b49f2570bcb3bb34952
|
|
The testcase TC_paging_imsi_nochan assumes that a paging for no
channel, with no specifc cell associated and without TMSI is
illegal. This is not correct. All these fields have legal values
and the TMSI field is optional.
- Replace the testcase implementation, use f_pageing_helper() to
create the paging.
Change-Id: I6a56fb0ee06ae7e72a7ac2b6b058ad54f94127ab
|
|
Let's use the preprocessor to avoid IPA_Emulation pulling *all*
dependencies into each and any of our projects. The code readability
suffers a bit from the many #ifdefs, but compilation speed increases
if we don't have to pull in all those (recursive) dependencies.
After all, a BTS test case will never need SCCP, GSUP or MGCP.
Change-Id: Ic0231adbd2171214de133d26b3fbf36130ee8aa0
|
|
This adds two new tests: One for RSL, and a second one which performs
the same test on the OML port. Both tests open an IPA connection and
send a unit ID which is unknown to the BSC. The tests expect the BSC
to close the connection immediately.
We need to add handling for a socket error in IPA_Emulation because
otherwise these tests do not pass reliably as some closed connections
are not properly detected.
Change-Id: I6a947d7411a016e4d7650031396cae3575756453
|
|
The provided BSC_Tests.cfg, which contains as a commented line for
local debugging, does not contain all tests from the control section.
- Update BSC_Tests.cfg so that it contains all tests from the
control section
Change-Id: I67f5906c3c67ae5793d88eee81b58ceac0bed658
|
|
The provided osmo-bsc.cfg does not contain any codec list, this
causes failure of the assignment related tests.
- add missing codec list
Change-Id: Id2509bcac4c54c910efd2db749eaa2085daa358d
|
|
The provided osmo-bsc.cfg contains obsolete log levels.
- Remove obsolete loglevels
Change-Id: I00001c949b69ecaef8a8ed0163779a470378ab08
|
|
The testcase TC_paging_counter is missing in the control section.
This means that if it is not started explicitly, it is not executed.
- Add TC_paging_counter to control section
Change-Id: Ie37b8cb554ea1db64a8d7927eb300d368ce67137
|
|
BTS[1] in function f_start_handler() is not always populated.
- Check BTS[1] before accessing it.
Change-Id: I37fdf7e6ef521677613f4eadc6f1ea236c04ce8e
|
|
Let's make sure we share common configuration between the test
suites and split the config file into a "default" part which is
used (but not copied) in the Docker images, and a "local" part
which is basically those overrides that the user (or docker image)
wants to do from the default.
Change-Id: I3db452e24e5238aa05254d903739c64d202e61db
|
|
Change-Id: Ic47e639a7c8640c736c84a44780fc8e111a64b52
|
|
This allows each ConnHandler to issue telnet commands to the VTY
As a side-effect, it puts some more stress on the VTY interface,
as each [parallel] DchanHdlr now has its own telnet connection.
Change-Id: Ibd726af53219d829286da80b44ea4d9fb2ffdf3d
|
|
Change-Id: Ia78f1231f56fc5f3b003bccc850ea109ed4ed2d8
|
|
Change-Id: Ibe3ae6ed4181c6ba7501f5443b4f22e3c8abeb3e
|
|
When f_expect_chan_rel() is called after receiving the BSSMAP
RESET and DISC.ind f_expect_chan_rel() is called. The flush
parameter is not set, which means the default flush = true is
valid. This leads into an early flush of the RSL Queue and
tosses the RSL RELEASE REQUEST we expect, so the test can not
pass, even when the BSC sends the RLEASE REQUEST.
Looking further up in the code. IPA_RSL[0].clear is called,
so the Queue is flushed to get rid of unwanted messages from
the IMMEDIATE ASSIGN. There is no need to flush the queue
a second time anyway.
- Do not flush the RSL queue, set flush=false when calling
f_expect_chan_rel()
Change-Id: I2962f741e0b13dec08ac6c918d326828beb65a6a
|
|
A problem with the parameter ordering inside the mgcp-client
(osmo-mgw) prevented TTCN3 from accepting the SDP data that
was generated by the IUT. The problem is now fixed and the
hack can be removed.
- remove hack
Change-Id: Ic37f78c2676e7c98144f10e9f3b55bc9651a4f7c
Related: OS#2818
|
|
The representation of the chiphering algorithm is different bssmap
and RSL. BSSMAP uses a bitmask and RSL a numeric value. For A50 and
A51 the values match up by coincidence, from A5/2 onwards they differ.
- Add a function to convert the BSSMAP representation to the RSL
representation and use the converted value to set up the temlate
for the expected RSL message
Change-Id: I274c1ff0b5636c48411f994f918e783b468cb3be
|
|
The altstep guard statements are to restrictive so they do not
match on an expected assignment failure anymore.
- Add a new altstep for expected assignment failures.
Change-Id: I78b839f0bcb7e2da61bff0add3abc452bfea40a2
|
|
Change-Id: I10309f07fb207c027703f0b43a478c152a029b6d
|
|
... as declared in TS 24.008 Section 8.4
Change-Id: I4f81b955567d2a33ead350ed312c4c4f6dd7ed8a
|
|
Change-Id: I8232ee58c14a4358a01b5428ff2b4e559491b185
|
|
Change-Id: Ib025ee51df54804e9a4241d4fa6107ce49270a5f
|
|
Change-Id: Ic3bd71d77d03cb7eebabdf98ba0bfbafd24ec0ea
|
|
Related: OS#2902
Change-Id: Idd86b5505e1a4fee666287680a20dc235970be93
|
|
When we page an unknown/unsupported CellIdentifier format, OsmoBSC
decides to page on all BTSs to be safe. This way we have a chance of
making communication happen, rather than breaking it.
Change-Id: Ibd0ba986d9e18758b519e852c36f4dbbb6b367ea
|
|
We now test all of the cell identification types specified in BSSMAP,
and also lists with a length != 1 entry.
Change-Id: I261f948d6054d0c90078c1dd0b2785a967b0a49b
|
|
We have to wait for sime time until some RSL paging command would have
arrived, rather than continuing too quickly.
Change-Id: I63827aa3c42f77648ecad401b3cc4bae927b3b94
|
|
MGCP permits for the CallAgent to send a wildcarded endpoint name,
at which point the MGW itself must allocate an endpoint name and
return it as SpecificEndpointId parameter in the CRCX response.
Change-Id: I704bbe4e11b27e83a6ae6a71aa6a715dc8301f34
|
|
Change-Id: I27d113391094f938ff92c4d6514172ee634f695c
|
|
We shouldn't "pass" f_establish_fully() in the assignment case
as long as the old RF channel hasn't been released via RSL.
Change-Id: If7c7c8c4826feba47f8a0395c291157a0e48cd9d
|
|
This adds code for the rather intricated and nested transactions
happening on RSL, BSSAP, MGCP and RSL-IPA. We use explicit
invocation of altsteps to simplify the main function f_establish_fully.
Change-Id: I5f830b010ea1b466ae74fa810df86638a74a3b8b
|
|
Change-Id: Ie8896edc3f4310a78b584fd4ad017b77bda22afb
|
|
During assignment or hand-over, a given TTCN-3 component may be
interested in registering more than one channel number. Add an explicit
procedure port with associated registration procedure, similar to what
we already do in GSUP, MNCC and others.
Change-Id: Iba37bf9541c779b79e179f995cdfa677633fadeb
|
|
The point of this test is to verify that *no* paging messages are sent
if "No cell" is given as cell identifier list by the MSC. We can thus
not use the existing pageing_helper function, but have to handle this
a bit differently.
This makes TC_paging_imsi_nochan runs pass.
Change-Id: Iec1086bd42f42de1986bb00b91af718977f73b30
|
|
There's no point in listing non-existing module parameters. Instead,
list those that the BSC testsuite actually has
Change-Id: I3cb756750cafba4ca481a0a98d19e27cb58395df
|
|
This test case was incomplete in that it didn't account for a RLL REL
REQ/RESP before RF_CHAN_REL.
Together with OsmoBSC Change-Id
I64a46b5bcd4272e3fa2ff4ee824c2f3fdff6854b, this test now passes.
Change-Id: Ia5af254d4fc572c1d324f70b5ec99d87bdaf9eb9
|
|
This test case was incomplete in that it
* applied the wrong timeout T3101 instead of T3210
* didn't account for a RLL REL REQ/RESP before RF_CHAN_REL
Let's fix it. Together with OsmoBSC Change-Id
Ie11d7d06353ba1b1e2fab6763dd7b032ce8a5d2c this check now actually
passes for the first time.
Change-Id: I9ed41d246cf153735fd4e71cc6cc174ede32a76b
|
|
The handling of channel release is copy+pasted, let's introduce
a shared function.
Change-Id: If74b0838187f60004b7daf6176db259af511bf87
|
|
In OsmoBSC Change-IdI68286d26e2014048b054f39ef29c35fef420cc97 we
introduce a proper subscriber connection state machine which fixes
the order of events during channel release after connection failure.
Change-Id: Ibe9c3205ec11dafcc305ea72aeb33e9152a6458c
|
|
When Change-Id I10fc9f60c58c6b7ed424a86ce23bf6b9802c9eb1 was merged,
OsmoBSC started to always allocate SDCCH first, no matter what the
establishment cause. This basically means we don't do very early
assignment anymore. TC_exhaustion must be adapted to allocate all
SDCCH and all TCH before failing.
Change-Id: I9d8bbfca0deebc738385f2a1a20d4a17c3853082
|
|
Change-Id: Ib6c6b24842d7ceb12a93200bd6208a6b392544b5
|