Hi all!
Recently in the IRC I brought up a topic of testing voice calls in
OsmoCNI, which then turned into a discussion. The problem is I wanted
to highlight is that there is currently no *easy* way to test voice
calls, especially when running a virtual OsmoRAN setup (fake_trx.py +
trxcon or virtphy).
== A bit of history ==
Back in the openbsc/osmo-nitb days I used to run jolly's LCR (Linux Call
Router) [1], which was configured to play some hold melody when calling
995, and echo voice frames back when calling 999.
Nowadays openbsc/osmo-nitb is obsolete and completely suppressed by the
new and shiny OsmoRAN/OsmoCNI stack. The LCR is not actively maintained
anymore and does not support the MNCCv8, so it cannot talk to osmo-msc.
BTW, I forked it, fixed some compilation errors, created a package, and
tried to implement MNCCv8 support (no luck, calls still don't work):
https://gitea.osmocom.org/vyanitskiy/lcr/commits/branch/fixeria/fixes
https://gitea.osmocom.org/vyanitskiy/lcr/commits/branch/fixeria/mncc
https://aur.archlinux.org/packages/lcr-git
Looks like it does not support late TCH assignment?
[1]
http://www.linux-call-router.de/
== Current situation ==
Currently with the new post-NITB stack I see the following options:
a) run a virtual BTS, attach two mobiles, and setup a call between them;
b) run a real BTS, attach two phones, and setup a call between them;
c) run some PBX, talking to osmo-msc via osmo-sip-connector.
Personally I find neither of these options convenient because:
a) requires running two instances of the mobile app (from
osmocom-bb.git). I know one can run two and even more MS instances in
one mobile process, but this is still not handy.
b) requires running a real BTS and interacting with real phones. This
is what I usually do, but it takes more time than running everything
virtually.
c) requires setting up a PBX (e.g. Freeswitch, Asterisk), which in its
turn requires digging into the new world of configuration files. I do
have a repository with a know-to-work Freeswitch configuration [2], but
installing it (even from packages) is not trivial.
[2]
https://people.osmocom.org/fixeria/freeswitch.cfg.zip
== What do I want ==
It would be great to have an easy-to-use echo service, be it attached to
osmo-msc via the MNCC socket, or be it built-in part of osmo-msc itself.
This would be usable for both real and virtual setups.
== Conclusion ==
I would like to know how do you guys test voice, and what do/would you
consider an easy approach. I actually found out that it's possible to
use osmo-msc's silent-call feature and play the Uplink RTP stream with
osmo-gapk. I'll share more details in a follow up mail.
In the IRC @whytek proposed to use sipp [3] and later came up with a
wiki page [4] describing how to achieve this with SEMS (SIP Express
Media Server). This is definitely easier than setting up Freeswitch or
Asterisk, but still feels like an overkill (sorry).
[3]
https://sipp.sourceforge.net/doc/reference.html#RTP+echo
[4]
https://osmocom.org/projects/cellular-infrastructure/wiki/Simple_Echo_Server
Best regards,
Vadim.
--
- Vadim Yanitskiy <vyanitskiy at sysmocom.de>
http://www.sysmocom.de/
=======================================================================
* sysmocom - systems for mobile communications GmbH
* Alt-Moabit 93
* 10559 Berlin, Germany
* Sitz / Registered office: Berlin, HRB 134158 B
* Geschaeftsfuehrer / Managing Director: Harald Welte