Testing OpenBSC with a FakeBTS

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/OpenBSC@lists.osmocom.org/.

Holger Hans Peter Freyther holger at freyther.de
Mon Oct 22 19:39:30 UTC 2012


Hi,

I wrote some code that lets me test OpenBSC without using real hardware, e.g.
one is bothered to wait for the nanoBTS to open the OML connection again, one
doesn't have the unit for the right band, one doesn't have a dual trx system,
or because reproducing the issue is difficult (RF interference, LAPDm timeouts).

I have packaged the code with OBS and right now it is only available for debian
stable (it can be installed on unstable as long as the stable feeds are inside
the sources.list).

Install:
$ echo 'deb http://download.opensuse.org/repositories/home:/zecke23/Debian_6.0/ ./' > /etc/apt/sources.list.d/
$ aptitude update; aptitude install gnu-smalltalk osmo-st-openbsc-test
(the packages are signed but the key expired two years ago, so the question
is if you want to trust Debian packages from OpenSUSE)

Using:
$ gst
st> PackageLoader fileInPackage: #FakeBTS
...
st> bts := FakeBTS.BTS new.
st> bts btsId: '1/0/0'
st> bts connect: 'localhost'; waitForBTSReady.
...

Testing:
There is the FakeBTS.OpenBSCTest class that has methods to require
channels and these Lchans can be used to send RSL messages. I don't have
a public example at this point though.

Vision:
I hope this code will be used to do nightly tests of OpenBSC, specially
the error paths (e.g. timeouts on handover, timeouts on assignment,
timeouts on channel release, etc.)


There is a branch that brings DualTRX support and I am going to merge
this to master soon. What I am missing is some test launcher code (it can be
in python or ruby if someone volunteers) that will launch osmo-bsc/osmo-nitb
with a given configuration file and initialize the HLR with a set of
given subscribers.


enjoy
	holger

PS: Blog post will follow once the code has matured a bit




More information about the OpenBSC mailing list