Prepare automatic interop testing of OmsoBSC against NG40 core simulator + osmo-bts-virtual + mobile
Please create a setup where the signaling tests (LU, MO-SMS, MT-SMS, USSD) can be done with osmocombb-mobile + virt_phy + osmo-bts-virtual + osmo-bsc against NG40.
This is in preparation of automatizing this task as soon as we have a scripting interface towards OsmocomBB "mobile"
Building all components should be automatic / scripted. It might be an idea to do this via Dockerfiles. Execution of the tests + checking results is not automatic yet, as this is pending the OsmocomBB "mobile" script interface.The goal is basically to have a single command/script to
- build/install osmo-bsc, osmo-bts-virtual, virt-phy + mobile
- might make sense to have
- one docker image for osmo-bsc
- one docker image for osmo-bts-virtual + virt_phy
- start N instances of each of them (except "mobile"), where the number of BSCs is different from the number of BTSs and again different from the number of virt-phy instances
- Status changed from New to In Progress
I managed to get the following running:
mobile <--> virtphy <--/--> osmo-bts-virtual <--> osmo-bsc <--> NG40 tester
I did not test very much yet, but I see the location update is getting accepted. However, in my mobile.cfg I currently have an all-zero-ki. I am a bit confused that I am still getting accepted on NG40. I remember we configured proper KI keys, at least on the simcards.
I wonder if it is somehow possible to send audio streams through the mobile application when it runs with virtphy. In order to do meaningful tests we should have something like this. I have to try it out. For first tests it is probably enough when we generate silence voice frames. The RTP packets from the BTS should still be there, even if they carry only silence.
On Mon, Dec 04, 2017 at 08:51:06PM +0000, dexter [REDMINE] wrote:
I wonder if it is somehow possible to send audio streams through the
mobile application when it runs with virtphy.
Not yet, but there is a separate ticket to extend GSMTAP, virt_phy and
osmo-bts-virtual for this. See #2557
For first tests it is probably enough when we generate silence voice
frames. The RTP packets from the BTS should still be there, even if
they carry only silence.
I was so far thinking of implementing voice frame looping inside
'mobile'. But of course one could also hook up some static play-back.
If you want to go crazy: 'mobile' always had a MNCC interface, just like
OsmoNITB/OsmoMSC. You can attach lcr (or possibly even
osmo-sip-connector) with it. Jolly implemented it for LCR support.
This was of course with real phone hardware, not with virt_phy. But
once we pass the voice frames through, there's no reason why MNCC
couldn not be used :)
After discussing for a while with Philipp, we decided as a first step to follow with the virtphy solution to have at least some automatized tests the same way we already have for ng40<->osmo-msc.
Information on the setup can be found in: https://projects.sysmocom.de/redmine/projects/office/wiki/NG40_Setup
The jenkins job running the ng40<->osmo-msc test can be found in: http://sysmocom-jenkins/job/ng40-test-core-network
The repo containing all the configurations and scripts used to set up the jenkins job, alice and bob are found in: https://git.admin.sysmocom.de/ng40/config-alice/
The best idea is probably to move all current stuff in config-alice git repository into an "test-osmo-msc" repository, and copy the same structure in "test-osmo-bsc" subdir. Then in there modify osmocom-setup/run.sh accordingly to start the desired osmocom services, and update osmocom cfg files in osmocom-setup/config accordingly. Also update ng40 config in "sysmocom-ran" directory. The build.sh and update.sh scripts can most probably be shared between both test directories in a "bin" directory.
Then either update the existing jenkins job to run tests for both bsc and msc setup, or clone the existing job into a new job and modify accordingly.