Attention is currently required from: laforge, pespin.
falconia has posted comments on this change. (
https://gerrit.osmocom.org/c/osmo-bts/+/32110 )
Change subject: common+trx: add rtp ecu-downstream vty option
......................................................................
Patch Set 3:
(2 comments)
Commit Message:
https://gerrit.osmocom.org/c/osmo-bts/+/32110/comment/2c26fd29_9ec4c4a8
PS3, Line 9: Current osmo-bts-trx includes a provision for invoking ECUs from
: libosmocodec in the UL path from the channel decoder to the RTP
: output; no other models currently do likewise, but there is no
: particular reason why this ECU invokation couldn't be moved into
: model-independent code.
Some background knowledge: AFAIR, osmo-bts-sysmo (and
hence liekly its relatives
oc2g + lc15) already do some ECU magic in the DSP.
At least in the case of FR1 and EFR codecs, I am very certain that sysmoBTS DSP does NOT
apply any kind of ECU on UL, at least not in the GSM 06.11/06.61 sense of this
term/concept. Any time there is a BFI condition on the uplink (i.e., the PHY heard radio
noise rather than a traffic frame from the MS), the output from the PHY is a zero-length
payload, and l1if_tch_rx() pushes this empty payload to l1sap, where we now do the option
of "rtp continuous-streaming". An ECU in the GSM 06.11 sense (like the one
implemented in libosmocodec) would be substituting a synthetic frame in this condition,
which sysmoBTS PHY most certainly does NOT do. I am speaking with such certainty because
ever since you graciously sold me that discounted sysmoBTS almost a year ago, I've
been working with nothing but FR1 and EFR voice calls, I've been looking at its RTP
output from day 1, and I recently started sniffing TCH DL on the MS to see what the PHY
puts out in that direction too...
Then some user discovered that audio sounded worse on
-trx than on -sysmo,
It is entirely possible (and quite likely) that the trx version still has various defects
and shortcomings in need of fixing - and because I am very interested in CSD which
won't happen in the sysmo version, I would like to acquire some suitable hw for
osmo-bts-trx and start improving FR/EFR voice in that version too. Distant plans...
and they implemented the "provision for invoking
ECUs" in -trx [only].
Two new problems with this attempt at solving the original perceived problem:
* The ECU implemented in libosmocodec is pretty bad - see OS#6027. As promised in that
ticket, I will be submitting an improved ECU implementation shortly - but:
* Even with a fully proper ECU implementation like Themyscira libgsmfrp, the UL path from
the PHY to the RTP output inside OsmoBTS is the wrong place for this ECU. Instead the two
correct places for the ECU are (1) in the network-side speech transcoder that turns GSM
codecs into G.711 for calls to and from the outside world and (2) in the *downlink* (not
uplink!) RTP handler in OsmoBTS or OsmoMGW (for T1/E1 BTS) in the case of TrFO calls,
following the principles of TS 28.062 section C.3.2.1.1, adapted for the evolution from
TFO to TrFO.
The ECU-in-the-wrong-place problem is the main reason why the present patch will remain
necessary even after I submit my improved FR codec ECU to libosmocodec and get it merged
(hopefully).
Patchset:
PS1:
I think rather than specifying that an ECU happens
somewhere "downstream" I think it's more logical […]
I actually came
to the same conclusion myself. Out of your proposed names, I like "rtp
internal-uplink-ecu" the most. Emphasizing that it is for UL is important - see my
other comment about the current ECU invokation being in the wrong place, and the
possibility of doing a more proper (per TS 28.062 section C.3.2.1.1) downlink ECU
application at some future point.
--
To view, visit
https://gerrit.osmocom.org/c/osmo-bts/+/32110
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: I0acca9c6d7da966a623287563e0789db9e0fae8e
Gerrit-Change-Number: 32110
Gerrit-PatchSet: 3
Gerrit-Owner: falconia <falcon(a)freecalypso.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-CC: laforge <laforge(a)osmocom.org>
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Comment-Date: Wed, 10 May 2023 17:13:53 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: falconia <falcon(a)freecalypso.org>
Comment-In-Reply-To: laforge <laforge(a)osmocom.org>
Comment-In-Reply-To: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: comment