From e1e204fae39937dbb73ecd32035e31ad4668cfeb Mon Sep 17 00:00:00 2001 From: "Mychaela N. Falconia" Date: Tue, 28 Mar 2023 15:45:31 +0000 Subject: trx: detect UL SID in EFR just like in FR The TCH/F Rx code in osmo-bts-trx uses osmo_fr_check_sid() to detect when the MS sends SID, and passes the flag to lchan_set_marker(). However, equivalent logic was missing for EFR, as until recently there was no EFR SID check function in libosmocodec. Now that we have osmo_efr_check_sid(), use it. Change-Id: Ib043e00dbf92145c2a6c32f6365517244472a922 --- TODO-RELEASE | 1 + src/osmo-bts-trx/sched_lchan_tchf.c | 2 ++ 2 files changed, 3 insertions(+) diff --git a/TODO-RELEASE b/TODO-RELEASE index 1833716a..88ad00d1 100644 --- a/TODO-RELEASE +++ b/TODO-RELEASE @@ -7,4 +7,5 @@ # If any interfaces have been added since the last public release: c:r:a + 1. # If any interfaces have been removed or changed since the last public release: c:r:0. #library what description / commit summary line +libosmocodec >1.8.0 osmo_efr_check_sid() new function libosmogsm >1.8.0 added diff --git a/src/osmo-bts-trx/sched_lchan_tchf.c b/src/osmo-bts-trx/sched_lchan_tchf.c index eff0f63a..256125b8 100644 --- a/src/osmo-bts-trx/sched_lchan_tchf.c +++ b/src/osmo-bts-trx/sched_lchan_tchf.c @@ -150,6 +150,8 @@ int rx_tchf_fn(struct l1sched_ts *l1ts, const struct trx_ul_burst_ind *bi) break; case GSM48_CMODE_SPEECH_EFR: /* EFR */ rc = gsm0503_tch_fr_decode(tch_data, *bursts_p, 1, 1, &n_errors, &n_bits_total); + if (rc == GSM_EFR_BYTES) /* only for valid *speech* frames */ + lchan_set_marker(osmo_efr_check_sid(tch_data, rc), lchan); /* DTXu */ break; case GSM48_CMODE_SPEECH_AMR: /* AMR */ /* the first FN 0,8,17 defines that CMI is included in frame, -- cgit v1.2.3