Attention is currently required from: neels, laforge.

falconia has posted comments on this change. ( 
https://gerrit.osmocom.org/c/libosmo-abis/+/32078 )

Change subject: osmo_rtp2trau() for FR & EFR: correctly handle the no-data case
......................................................................


Patch Set 1:

(2 comments)

File src/trau/trau_rtp_conv.c:

https://gerrit.osmocom.org/c/libosmo-abis/+/32078/comment/1e7ed5a4_a883df1a
PS1, Line 282: } else if (data_len == 0) {
             :          /* C1 .. C5: idle speech */
             :          tf->c_bits[0] = 0;
             :          tf->c_bits[1] = 1;
             :          tf->c_bits[2] = 1;
             :          tf->c_bits[3] = 1;
             :          tf->c_bits[4] = 0;
Please read the rules of TS 48.060, particularly sections 6.5.2 and 6.5.3. Here 
is a bullet-point summary of these rules:

* In the case of DL, for both FR and EFR, there is no choice: the TRAU must 
send an idle  speech frame, which is distinguished from a regular speech frame 
by a unique C1..C5 pattern.

* In the case of UL for EFR, the CCU must send a regular EFR speech frame (not 
idle speech frame) with BFI=1 - once again, no choice given.

* In the case of UL for FR, the CCU has the option of sending either a regular 
speech frame with BFI=1 or an idle speech frame.

Thus there is only one case where we as implementors get a choice: the case of 
FR UL. My patch implements the option of sending BFI=1, consistently with EFR 
when such behaviour is required. So let's decide on this issue first, before 
arguing over code structure: should we send a speech frame with BFI=1 or an 
idle speech frame in this case?

Also @laforge wrote:

> Basically above where the "FIXME: Generate SID frames?" comment is (which is 
> no longer a FIXME then.

This FIXME is fixed, and that comment removed, in the second patch of the 
series.


https://gerrit.osmocom.org/c/libosmo-abis/+/32078/comment/b866177b_87816889
PS1, Line 441:  if (data_len == 0 && tf->dir == OSMO_TRAU_DIR_DL) {
> (wondering as above: why only for DL?)
In the present case (EFR codec) the answer to the "why" question is 
straightforward: because TS 48.060 section 6.5.3 says so.



--
To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/32078
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: libosmo-abis
Gerrit-Branch: master
Gerrit-Change-Id: I7f21e2210bba9ef87f1af515a001a0cfc1c0a1d8
Gerrit-Change-Number: 32078
Gerrit-PatchSet: 1
Gerrit-Owner: falconia <[email protected]>
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: laforge <[email protected]>
Gerrit-CC: neels <[email protected]>
Gerrit-Attention: neels <[email protected]>
Gerrit-Attention: laforge <[email protected]>
Gerrit-Comment-Date: Mon, 27 Mar 2023 16:35:48 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: neels <[email protected]>
Comment-In-Reply-To: laforge <[email protected]>
Gerrit-MessageType: comment

Reply via email to