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

Reply via email to