Dear all,
the last couple of weeks I've been spending a lot of time creating an OsmoBSC test suite. A lot of this was infrastructure work, as e.g. there was no RSL implementation available yet for TTCN-3.
The code can be found at http://git.osmocom.org/osmo-ttcn3-hacks/tree/bsc there's a README.txt file included with more details (and further test ideas).
I've also found some time for the docker + jenkins integration, whose results can now be seen at http://git.osmocom.org/osmo-ttcn3-hacks/tree/bsc (click on 'expand all' to see details).
During the writing of the test suite I discovered a quite large number of bugs in OsmoBSC and some of its dependencies, see the list below.
I'll stop working on the test coverage for now and focus on other areas of testing first (as well as fixing some of the now-known bugs). Any help is greatly appreciated.
List of bugs uncovered/documented:
OsmoBSC user manual doesn't specify how to configure M3UA link (asp/as) https://osmocom.org/issues/2767
OsmoBSC BSSMAP CIPHER MODE REJECT is missing mandatory cause IE https://osmocom.org/issues/2766
OsmoBSC refuses configuration with both FR and HR codecs https://osmocom.org/issues/2763
OsmoBSC: Assignment of "Signalling" channel fails https://osmocom.org/issues/2762
OsmoBSC ASSIGNMENT FAIL doesn't contain useful cause https://osmocom.org/issues/2759
rate_ctr_group_alloc with identical index doesn't return error https://osmocom.org/issues/2757
T3113 default of 60s seems way too large https://osmocom.org/issues/2756
Paging on LAI not working https://osmocom.org/issues/2754
Paging on CI not working https://osmocom.org/issues/2753
Paging on LAC+CI not working https://osmocom.org/issues/2752
Paging on CGI not working https://osmocom.org/issues/2751
OsmoBSC allows COMPLETE L3 INFO for SACCH https://osmocom.org/issues/2750
OsmoBSC allows COMPLETE LAYER3 on SAPI !=0 https://osmocom.org/issues/2749
OsmoBSC continues to page subscribers even after BSSMAP RESET https://osmocom.org/issues/2736
RF channel teradown timers (T3109) way too large https://osmocom.org/issues/2734
T3101 default is way too large at 10s https://osmocom.org/issues/2733
OsmoBSC sends invalid zero-length BSSAP payload in SCCP RLSD https://osmocom.org/issues/2732
OpenBSC doesn't release lchan if MSC does a hard SCCP disconnect https://osmocom.org/issues/2731
BSC doesn't release RF conenction or SCCP connection after main signalling link is closed https://osmocom.org/issues/2730
CTRL "msc_connection_status" reports "disconnected" even ater MSC is connected https://osmocom.org/issues/2729
Align better with 48.103 for AoIP user plane https://osmocom.org/issues/2728
OsmoBSC doesn't release lchan if MSC refuses connection (CR -> CREF) https://osmocom.org/issues/2726
OsmoBSC doesn't release lchan if MSC doesn't answer to CR https://osmocom.org/issues/2725
OsmoBSC doesn't send BCCH filling after RSL connection unless BTS sends unsolicited message https://osmocom.org/issues/2719
ipaccess_bts_handle_ccm() gets ID_REQ/ID_RESP/ID_ACK wrong https://osmocom.org/issues/2718
libosmo-abis doesn't use ipa_ccm_make_id_resp() https://osmocom.org/issues/2717
BSC doesn't terminate OML connection if RSL is never established https://osmocom.org/issues/2716
"show trx" doesn't show missing RSL connection https://osmocom.org/issues/2715
OsmoBSC doesn't refuse/close RSL connections from unknown Unit ID https://osmocom.org/issues/2714
On 17. Dec 2017, at 18:49, Harald Welte laforge@gnumonks.org wrote:
Dear all,
Hey!
I'll stop working on the test coverage for now and focus on other areas of testing first (as well as fixing some of the now-known bugs). Any help is greatly appreciated.
congrats. Nice findings! Some are known limitations, some due lack of knowledge (complete layer3 is fun) but for a few I wondered if I didn't test/implement it. ;)
It took me a bit to realize that this is of course about osmo-bsc.git and the new sigtran/sccp stack. Do you think anyone else might be equally wondering? I wanted to change the project description but as I am not sure I am opening it for bike shedding. ;)
"OsmoBSC is an Open Source BSC (GSM Base Station Controller) with A-bis/IP and A/IP interface. Found in osmo-bsc.git"
have a nice night
holger
Hi Holger,
On Tue, Dec 19, 2017 at 11:47:29PM +0000, Holger Freyther wrote:
I'll stop working on the test coverage for now and focus on other areas of testing first (as well as fixing some of the now-known bugs). Any help is greatly appreciated.
congrats. Nice findings! Some are known limitations, some due lack of knowledge (complete layer3 is fun) but for a few I wondered if I didn't test/implement it. ;)
Well, things also break over time, of course. When writing the tests it was of course clear to me that some of those features are not implemented. But then still, we should be testing for them as a reminder of what we still need to do.
It took me a bit to realize that this is of course about osmo-bsc.git and the new sigtran/sccp stack. Do you think anyone else might be equally wondering? I wanted to change the project description but as I am not sure I am opening it for bike shedding. ;)
sure, just go ahead.
In general, the old code is referred-to as 'osmo-bsc-sccplite' (in the git repositories, the executable name we create, debian/ubuntu packages, etc.).
The focus on new osmo-bsc is still on 3GPP AoIP M3UA, but re-adding SCCPlite is certainly still on the agenda. More precisely: the IPA transport and M3UA/IPA translation in osmo-bsc is already working. It's the BSSMAP dialect differences and MGCP handling which is missing/untested in the new osmo-bsc code base.
Now that we have TTCN-3 tests for the SCCPlite osmo-bsc_nat it should be possible to first create SCCPlite tests and then drive the related development based by those tests.
Regards, Harald