fixeria submitted this change.

View Change

Approvals: fixeria: Looks good to me, approved Jenkins Builder: Verified falconia: Looks good to me, but someone else must approve pespin: Looks good to me, but someone else must approve
csd_v110: clarify lchan description for TCH/F14.4

According to 3GPP TS 44.021, section 10.3.2, a radio-interface data
block for a TCH/F14.4 channel consists of eight 36-bit data frames
and two M-bits (290 bits total). Let's fix our definition.

Change-Id: I4f11eda98420587efa339484b62f46bf19f78809
Related: OS#6167
---
M include/osmo-bts/csd_v110.h
M src/common/csd_v110.c
2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/include/osmo-bts/csd_v110.h b/include/osmo-bts/csd_v110.h
index 62058f4..1621c00 100644
--- a/include/osmo-bts/csd_v110.h
+++ b/include/osmo-bts/csd_v110.h
@@ -8,13 +8,14 @@
struct csd_v110_lchan_desc {
uint16_t num_frames; /* number of V.110 frames in a radio block */
uint16_t num_frame_bits; /* number of bits in each V.110 frame */
+ uint16_t num_other_bits; /* number of other bits (e.g. M-bits for TCH/F14.4) */
uint8_t ra2_ir; /* intermediate rate (8 or 16 kbit/s) for RA2 step */
};

extern const struct csd_v110_lchan_desc csd_v110_lchan_desc[256];

#define CSD_V110_NUM_BITS(desc) \
- ((desc)->num_frames * (desc)->num_frame_bits)
+ ((desc)->num_frames * (desc)->num_frame_bits + (desc)->num_other_bits)

int csd_v110_rtp_encode(const struct gsm_lchan *lchan, uint8_t *rtp,
const uint8_t *data, size_t data_len,
diff --git a/src/common/csd_v110.c b/src/common/csd_v110.c
index f578d52..9bbc5fe 100644
--- a/src/common/csd_v110.c
+++ b/src/common/csd_v110.c
@@ -38,9 +38,10 @@
const struct csd_v110_lchan_desc csd_v110_lchan_desc[256] = {
#if 0
[GSM48_CMODE_DATA_14k5] = {
- /* TCH/F14.4: 290 bits every 20 ms (14.5 kbit/s) */
- .num_frames = 1,
- .num_frame_bits = 290,
+ /* TCH/F14.4: 8 * 36 + 2 bits every 20 ms (14.5 kbit/s) */
+ .num_frames = 8,
+ .num_frame_bits = 36, /* D-bits */
+ .num_other_bits = 2, /* M-bits */
.ra2_ir = 16,
},
#endif

To view, visit change 38817. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-MessageType: merged
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: I4f11eda98420587efa339484b62f46bf19f78809
Gerrit-Change-Number: 38817
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanitskiy@sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: falconia <falcon@freecalypso.org>
Gerrit-Reviewer: fixeria <vyanitskiy@sysmocom.de>
Gerrit-Reviewer: pespin <pespin@sysmocom.de>