Attention is currently required from: pespin, dexter.
Hello Jenkins Builder,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-bts/+/32714
to look at the new patch set (#4).
Change subject: TCH DL, FR & EFR: reshape SIDs per 06.31/06.81 section 5.1.2
......................................................................
TCH DL, FR & EFR: reshape SIDs per 06.31/06.81 section 5.1.2
Section 5.1.2 of GSM 06.31 & 06.81 (DTX specs for FR & EFR) specifies
the expected shape of radio downlink in the presence of SIDs: one SID
frame after each talkspurt (after speech frames), and one SID frame
in every SACCH-aligned position every 480 ms, or if the actual SACCH-
aligned position is taken up by FACCH, then just one SID frame as
soon as possible after that FACCH - and no transmitted SID frames
in other positions.
This just-referenced spec section was written with the assumption
that it will only be applied when DTXd is enabled - however, if
the RTP stream for call leg B DL comes from call leg A UL (TrFO),
then we are going to receive SID frames in the stream intended for
our DL even when DTXd is disabled or not supported altogether.
The easiest solution is to apply FR/EFR (and in the future HR1 too)
DTXd logic whenever the incoming RTP stream contains SID frames,
irrespective of physical DTXd enable/disable state. If we apply such
"logical DTXd" when physical DTXd is disabled, the BTS model PHY
will end up transmitting induced BFIs (dummy FACCH or inverted CRC3)
in those frame positions where the "logical DTXd" function says
"please transmit nothing".
The point remains, however, that the prescribed SID shape on the
radio downlink (expected positions of SID frames) won't happen on its
own: in the case of TrFO, whichever SID frames are present will be
in wrong positions for leg B DL, and even in the case of transcoded
calls the responsibility for DL SID shaping cannot be placed on the
RTP stream source because that source won't know where SACCH alignment
will lie. Therefore, the necessary DL SID reshaping has to be done
in the RTP stream receiver in OsmoBTS.
Related: OS#5996
Change-Id: I924ab21952dcf8bb03ba7ccef790474bf66fc9e5
---
M include/osmo-bts/lchan.h
M src/common/l1sap.c
2 files changed, 228 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/14/32714/4
--
To view, visit
https://gerrit.osmocom.org/c/osmo-bts/+/32714
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: I924ab21952dcf8bb03ba7ccef790474bf66fc9e5
Gerrit-Change-Number: 32714
Gerrit-PatchSet: 4
Gerrit-Owner: falconia <falcon(a)freecalypso.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: dexter <pmaier(a)sysmocom.de>
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: dexter <pmaier(a)sysmocom.de>
Gerrit-MessageType: newpatchset