Vadim Yanitskiy vyanitskiy@sysmocom.de wrote:
I am not aware of any other solutions for running OsmoRAN virtually and connecting a virtual MS to it,
Of course none exist and none can possibly exist, and...
so I have no idea what kind of interoperability with non-Osmocom MS vendors you're talking about.
My point was (and still remains) that I see the very idea of virtual RAN as utterly pointless. Sure, it is a "cool" hack, you can feel all awesome and proud that you did it, but what in the world does it actually accomplish? *Especially* if we are talking about *voice* testing - surely voice is the one test scenario in which a virtual setup is at its *most* useless? I can kinda-sorta-see some signaling test scenarios where your virtual setup would provide some limited value: you've made some change to OsmoBSC or OsmoMSC or OsmoHLR, and while a test with an MS implementation that isn't your own is still required later, you could do a first-pass sanity check with your own MS - so I will grant you that use case.
But doing this virtual exercise for voice? Just what are you actually testing then? You have no physical MS whose speaker/mic analog circuits are being tested, no MS DSP codec implementation being tested, and I don't see any way at all to listen to voice DL or speak into voice UL on the MS end in your virtual scenario. Suppose you connect two instances of your mobile app to your virtual RAN - but without any actual MS hw, what will become of "virtual speaker" and "virtual mic" voice endpoints on each end of the call? Does your mobile app now feature integration with libosmogapk and various codec libs plus ALSA, to the point where your PC speakers and mic become the speaker+mic set of the virtual MS? If the answer to that last question is yes, then I can see how you could do some voice testing (although still not replacing further testing with a standard phone) with your virtual MS *if* the other end of the test call is a PSTN gateway or a PBX with melody and echo test numbers, etc. But you were suggesting a test scenario with *two* instances of mobile app, one calling the other - just where is the actual test, *what* would be tested (and how, if both run on the same PC that has only one speaker output and only one mic input) in this specific scenario which you included?
If this is again "use my FreeCalypso", then let's avoid this discussion.
What the heck? If I used *only* my own MS implementation, then I would be no better than what I am accusing you of - instead I make a point of testing my Themyscira Wireless network (which makes heavy use of OsmoCNI components in addition to my own themwi-system-sw, and thus on-topic here) with phones other than my own FC, and ideally with phones whose chipset is not Calypso at all - I routinely test with Ericsson I888 for the oldest end of the spectrum and Nokia C3-00 for the newest end. (I invite you to look up the ages of just-named models and see how they neatly bracket almost the entire era of GSM. Neither is TI-based.)
I am not saying this is not an option, but... I want a *simple* solution. And you suggest running 4 additional components, and connecting to PSTN for that? This is definitely an overkill.
I never said that my approach makes for a simple solution in the case of someone who is not already running all of that sw for other needs. However, I was responding to this part of your original post:
I would like to know how do you guys test voice, and what do/would you consider an easy approach.
My approach happens to be an easy approach *for me* because I've already developed all necessary sw components, and established all needed non-sw components as well (business Internet connection with a static IP, setup with bulkvs.com for USA PSTN interface).
And I consider my answer to be relevant and on-topic because voice testing is indeed one of my major objectives. Suppose I produce a new GSM MS board - how would I test its analog audio circuits, how would I tune its DSP audio settings etc? There is only one way - I need to be able to make test calls on a GSM network. And if I wish to be independent of commercial operators in this venture, then that GSM network needs to be my own - thus a need for an OsmoCNI-based network with solidly working voice. As I analyzed this problem earlier this year, I quickly concluded that building an interface to PSTN would be the best way - this way I can do tests with another human on the other end of the call, to give me feedback on how my uplink sounds - hence it is my honest and fully truthful answer that I found my PSTN interface (from an OsmoCNI network, hence on-topic here) to be the best way to test GSM voice calls, at least for me.
But I think I see where I may have gone astray in my response to your post: you said "you guys", and I failed to grasp your intent behind that wording. You see, I made the innocent mistake of assuming that you said "you guys" when really meaning plural-you of all genders - but now I am thinking that I was wrong in my interpretation, you probably meant "you guys" as explicitly excluding women. Because it just so happens that at the present moment I am the only woman (to my knowledge) working on GSM in a publicly-visible manner (not counting whatever may be happening inside walls of commercial companies with no public ML interaction), limiting to men only would be a convenient way to exclude the one-and-only public GSM developer who retains her independence, who has not assimilated into the galactic empire of Osmocom. Got it! "Resistance is futile, resign and you will be assimilated..."
Yes, we know. It's not the first time you're advertising it here.
And what exactly is wrong with it? ThemWi system sw is an add-on to OsmoCNI, it was developed specifically to work together with OsmoCNI and can't work without it, hence I argue that it should be on-topic here. Furthermore, you yourself always include links to code repositories in your own posts, even when they are Osmocom repos which everyone on this ML would be presumed to know about (e.g., your link to gapk repo in your previous follow-up) - therefore, if there is a discussion involving an area where ThemWi additions to OsmoCNI are relevant and useful, I will remind people of the existence and availability of this option.
You have told me yourself in our conversations that voice is an area where pure OsmoCNI (without augmentation with non-Osmocom components) is *weak*, and furthermore, as all of your PDF manuals emphasize, FOSS lives by contribution. If the core people behind Osmocom (practically meaning Sysmocom team) are not in a position to improve OsmoCNI support for voice (because that's not what paying customers are asking for, yadda yadda yadda), then why are you complaining when *someone else* (who is not on Sysmocom payroll and who has different objectives and priorities) steps forward to implement voice functions (transcoding, PSTN interface, call waiting, more to come) which pure OsmoCNI does not provide out of the box? Oh, I know *exactly* what you don't like about me: you don't like the fact that I develop my improvements to OsmoCNI in the form of add-on components written in my own programming style (principally meaning K&R C, 1980s UNIX style, no systemd and no autotools) instead of patches to existing OsmoCNI components themselves. Well, that's life: those who do most active development get to choose how they do it.
With devotion to GSM Forever, (Hasta la Victoria, Siempre,) Mother Mychaela