Dear Osmocom community,
I am pleased to announce the first usable version of my new MGW for use with OsmoBSC and E1-based BTS:
https://gitea.osmocom.org/themwi/tw-e1abis-mgw
This new sw component works as a drop-in replacement for osmo-mgw in the role of BSC-associated MGW for E1 Abis. Principal new features compared to OsmoMGW-E1 are:
* The path from RTP input to fixed-timing TRAU-DL output passes through ThemWi jitter buffer (twjit), instead of blindly converting every received RTP packet to a TRAU-DL frame, queueing those frames to I.460 MUX Tx and hoping for the best.
* For FR codec in the present implementation and for EFR coming later, a proper UL-to-DL transform (aka TFO transform) is applied to this RTP-to-DL path. This way if the stream of UL frames from the other call leg includes gaps due to radio errors, FACCH stealing or DTXu pauses, or if gaps are caused by packet loss, the stateful transform will produce proper error concealment or comfort noise insertion per TS 28.062 section C.3.2.1.1.
* CSD is supported! This development may be the first time in Osmocom history of CSD working on an E1-based BTS.
I tested this new MGW with Nokia InSite BTS and confirmed it working with all 3 classic GSM voice codecs (FR, HR and EFR) and with CSD up to 9600 bps. CSD at 14400 bps (D145_SYNC and EDATA frames) is supported too, but remains untested due to lack of needed support in OsmoMSC.
My eventual goal is to use OsmoBSC and this new MGW with Ericsson RBS6k BTS, consisting of DUG20 and RUS or RRUS. I already have DUG20 and RUS01 hardware, but given all other work I still have to do on ThemWi CN software, I haven't got around to playing with Ericsson gear yet.
My plans going forward are:
* Get back to twrtp patches in Gerrit: implement the next round of changes per last round of review, and hopefully get twrtp into libosmo-netif so we can make it an option in OsmoBTS, in addition to E1 BTS.
* Finish long-deferred work on libgsmhr1 in gsm-codec-lib. HRv1 codec is of course of no practical interest, can be regarded as a "just for fun" retronetworking feature, but I need to finish it so certain ThemWi components can rely on having encoders and decoders for all GSM codecs always available, and my TFO transform for HRv1 will serve as a stepping stone toward much more important TFO transform for EFR.
* After the above, the big work item for me will be ThemWi-MSC. I won't get into details as I don't like writing about vaporware, but many of you know that currently I am still stuck on 2023-02 version of OsmoMSC while running newer versions of all other components. ThemWi-MSC will be my proper solution, but I'll write about it in detail only when it becomes a reality.
Never stopping work toward restoration of top-quality GSM/2G networks,
Mother Mychaela