Attention is currently required from: fixeria, pespin.

falconia has posted comments on this change by falconia. ( 
https://gerrit.osmocom.org/c/osmo-bts/+/38553?usp=email )

Change subject: CSD: implement half-rate modes correctly
......................................................................


Patch Set 2:

(4 comments)

Commit Message:

https://gerrit.osmocom.org/c/osmo-bts/+/38553/comment/9cc638f0_5f775bca?usp=email
 :
PS2, Line 26: by emitting two RTP packets
            : directly back-to-back for UL, and pulling two RTP packets at a 
time
            : from the Rx jitter buffer at the needed times for DL.
> I understand your idea now. […]
You are correct: if we were implementing a new E1 BTS, there would be no other 
way to handle the present issue except by buffering the bits and emitting them 
at the TDM-controlled rate. However, E1 BTS do similar buffering at all times, 
not just in this one corner case. Consider what happens with all other TCH 
types besides CSD-HR, i.e., consider CSD-FR and all speech modes. For those 
"traditional" TCH, osmo-bts (all models, not just trx) emits an RTP packet 
statistically every 20 ms - but it is not perfect 20 ms, it has TDMA jitter, 
with the actual time deltas between emitted RTP packets being TDMA*4 or TDMA*5 
per multiframe structure. E1 BTS are different in this regard: their internal 
buffering fully conceals TDMA jitter from the external TDM connection, and the 
timing of TRAU frames on Abis is perfect 20 ms for each frame.

This aspect of osmo-bts (the fact that we normally expose our TDMA jitter in 
RTP output) is the main reason why I felt it would make no sense to try to 
replicate the exact behavior of E1 BTS here. Suppose we wanted to artificially 
delay the second half of CSD-HR frames by 20 ms to make our RTP output more 
E1-like - would it be a delay of exactly 20 ms per Linux system clock? Or would 
be 4 TDMA frames? Or 5 TDMA frames? Exactly which FNs would produce an 
artificial delay of 4 vs 5 frames? There won't be an answer in the specs as we 
talking about purely artificial delay here. So why delay at all, why not simply 
emit both packets right away...


File src/common/l1sap.c:

https://gerrit.osmocom.org/c/osmo-bts/+/38553/comment/f0babc20_9d4822b7?usp=email
 :
PS2, Line 1539: 2
> `ARRAY_SIZE(input_msg)` here and below, please.
Will do.


https://gerrit.osmocom.org/c/osmo-bts/+/38553/comment/938ed2ec_7f9c834d?usp=email
 :
PS2, Line 1556: else
> I would put a comment that it's an IDLE frame (all bits set to 1).
Will do.


https://gerrit.osmocom.org/c/osmo-bts/+/38553/comment/3e3f65cd_38cd9886?usp=email
 :
PS2, Line 2098: switch (lchan->tch_mode) {
> As a further improvement, I suggest sharing `csd_v110_lchan_desc[]`, so that 
> it can be used here (`d […]
Not sure if I agree - let me handle all other feedback first, then I'll get 
back to this one.



--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/38553?usp=email
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings?usp=email

Gerrit-MessageType: comment
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: Ib35e910df263743cd243f51fb0bd6551ddfcf4c5
Gerrit-Change-Number: 38553
Gerrit-PatchSet: 2
Gerrit-Owner: falconia <[email protected]>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <[email protected]>
Gerrit-CC: pespin <[email protected]>
Gerrit-Attention: fixeria <[email protected]>
Gerrit-Attention: pespin <[email protected]>
Gerrit-Comment-Date: Sun, 27 Oct 2024 22:06:21 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: fixeria <[email protected]>

Reply via email to