aboutsummaryrefslogtreecommitdiffstats
path: root/bsc
AgeCommit message (Collapse)AuthorFilesLines
2018-03-12bsc: add TC_ms_rel_ind_does_not_cause_bssmap_resetNeels Hofmeyr1-0/+63
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
2018-03-12bsc: TC_chan_rel_rll_rel_ind: expect full MSC Clear RequestNeels Hofmeyr1-2/+16
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
2018-03-12bsc: add TC_bssmap_clear_does_not_cause_bssmap_reset()Neels Hofmeyr1-0/+63
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
2018-03-12bsc: add TC_bssap_rlsd_does_not_cause_bssmap_resetNeels Hofmeyr1-0/+48
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
2018-03-12bsc: cosmetic: T_guard timeout: add 'self.stop'Neels Hofmeyr1-1/+4
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
2018-03-01MSC_ConnectionHandler: make sure altstep existsPhilipp Maier1-1/+0
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
2018-03-01BSC_Tests: use isvalue() instead of isbound()Philipp Maier1-1/+1
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
2018-02-28BSC_Tests: try to avoid race conditionPhilipp Maier1-1/+27
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
2018-02-23bsc: fix TC_paging_imsi_a_resetPhilipp Maier1-1/+3
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
2018-02-23BSC: Add CCHAN_PT recently introduced in RSL_EmulationHarald Welte1-0/+3
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
2018-02-23bsc: fix testcase TC_paging_imsi_nochanPhilipp Maier1-25/+1
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
2018-02-20IPA_Emulation: Make dependencies to RSL/MGCP/SCCP/GSUP conditionalHarald Welte2-2/+4
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
2018-02-19Add tests for OS#2714, "close RSL connections from unknown Unit ID".Stefan Sperling1-0/+67
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
2018-02-16BSC: Update BSC_Tests.cfgPhilipp Maier1-0/+12
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
2018-02-16BSC: add codec-list to osmo-bsc.cfgPhilipp Maier1-0/+1
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
2018-02-16BSC: remove obsolete loglevels from osmo-bsc.cfgPhilipp Maier1-15/+0
The provided osmo-bsc.cfg contains obsolete log levels. - Remove obsolete loglevels Change-Id: I00001c949b69ecaef8a8ed0163779a470378ab08
2018-02-16BSC: add TC_paging_counter to control sectionPhilipp Maier1-0/+1
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
2018-02-16BSC: Do not access unbound BTS objectsPhilipp Maier1-2/+4
BTS[1] in function f_start_handler() is not always populated. - Check BTS[1] before accessing it. Change-Id: I37fdf7e6ef521677613f4eadc6f1ea236c04ce8e
2018-02-14re-organize configuration files; add tcpdump integrationHarald Welte2-37/+32
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
2018-02-13WIP: Intra-BSC handover testingHarald Welte2-3/+184
Change-Id: Ic47e639a7c8640c736c84a44780fc8e111a64b52
2018-02-13MSC_ConnectionHdlr: Add telnet to VTY to each ConnHdlrHarald Welte1-1/+8
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
2018-02-13bsc: Add VTY module to BSC_TestsHarald Welte4-2/+26
Change-Id: Ia78f1231f56fc5f3b003bccc850ea109ed4ed2d8
2018-02-13WIP: Prepare MSC_Tests for ability to emulate two BSCsHarald Welte2-41/+56
Change-Id: Ibe3ae6ed4181c6ba7501f5443b4f22e3c8abeb3e
2018-02-10BSC: do not flush RSL queue early in TC_chan_rel_a_reset()Philipp Maier1-1/+1
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
2018-02-08MGCP: remove hack to fake SDPPhilipp Maier1-3/+0
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
2018-02-08msc: convert bssmap chipher to rsl chiper representationPhilipp Maier1-1/+47
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
2018-02-07bsc: fix f_establish_fully() for expected assignment failuresPhilipp Maier1-0/+4
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
2018-02-05Don't symlink non-existent fileMax1-1/+1
Change-Id: I10309f07fb207c027703f0b43a478c152a029b6d
2018-01-31bsc: Add TC_err_84_unknown_msg to check if unknown RR message triggers RR STATUSHarald Welte1-0/+22
... as declared in TS 24.008 Section 8.4 Change-Id: I4f81b955567d2a33ead350ed312c4c4f6dd7ed8a
2018-01-31bsc: reduce code duplication; add new test case on too short messagesHarald Welte1-42/+39
Change-Id: I8232ee58c14a4358a01b5428ff2b4e559491b185
2018-01-31bsc: Add TC_unsol_ass_compl / unsolicited assignment completeHarald Welte1-0/+33
Change-Id: Ib025ee51df54804e9a4241d4fa6107ce49270a5f
2018-01-31bsc: Add TC_unsol_ho_fail test case for unsolicited handover failureHarald Welte1-0/+30
Change-Id: Ic3bd71d77d03cb7eebabdf98ba0bfbafd24ec0ea
2018-01-31bsc: Add TC_classmark to test RR CLASSMARK -> BSSMAP CLASSMARK conversionHarald Welte2-1/+71
Related: OS#2902 Change-Id: Idd86b5505e1a4fee666287680a20dc235970be93
2018-01-31bsc: Change expectation in paging testsHarald Welte1-3/+3
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
2018-01-31BSC_Tests: Implement remaining missing paging testsHarald Welte1-1/+36
We now test all of the cell identification types specified in BSSMAP, and also lists with a length != 1 entry. Change-Id: I261f948d6054d0c90078c1dd0b2785a967b0a49b
2018-01-31BSC_Tests: fix f_pageing_helper() in case no paging was expectedHarald Welte1-0/+1
We have to wait for sime time until some RSL paging command would have arrived, rather than continuing too quickly. Change-Id: I63827aa3c42f77648ecad401b3cc4bae927b3b94
2018-01-30bsc: Handle wildcard endpoint name in MGCP CRCXHarald Welte1-2/+15
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
2018-01-29bsc: Unregister old RSL channel number after assignmentHarald Welte1-2/+3
Change-Id: I27d113391094f938ff92c4d6514172ee634f695c
2018-01-29bsc: f_establish_fully(): Wait for release of old channelHarald Welte1-5/+11
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
2018-01-29bsc: Implement Assignment handlingHarald Welte3-55/+373
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
2018-01-29bsc: Permit MGCP messages from random ports on BSC sideHarald Welte1-1/+1
Change-Id: Ie8896edc3f4310a78b584fd4ad017b77bda22afb
2018-01-29RSL_Emulation: Permit registration of explicit Channel NumberHarald Welte1-0/+1
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
2018-01-29bsc: Fix TC_paging_imsi_nochanHarald Welte1-1/+26
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
2018-01-29bsc: Cosmetic: Update commented-out config file optionsHarald Welte1-11/+9
There's no point in listing non-existing module parameters. Instead, list those that the BSC testsuite actually has Change-Id: I3cb756750cafba4ca481a0a98d19e27cb58395df
2018-01-29bsc: Fix TC_chan_act_ack_est_ind_refused()Harald Welte1-2/+1
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
2018-01-29bsc: Fix TC_chan_act_ack_est_ind_noreply()Harald Welte1-1/+12
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
2018-01-29bsc: reduce code duplication by introducing f_expect_chan_rel()Harald Welte1-74/+37
The handling of channel release is copy+pasted, let's introduce a shared function. Change-Id: If74b0838187f60004b7daf6176db259af511bf87
2018-01-29bsc: Update TC_chan_rel_conn_fail to subscr_conn_fsmHarald Welte1-5/+5
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
2018-01-29bsc: Update TC_exhaustion to recent osmo-bscHarald Welte1-3/+5
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
2018-01-29bsc: Don't test CTRL commands for old NITB parametersHarald Welte1-2/+0
Change-Id: Ib6c6b24842d7ceb12a93200bd6208a6b392544b5