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