laforge submitted this change.

View Change

Approvals: pespin: Looks good to me, approved falconia: Looks good to me, but someone else must approve laforge: Looks good to me, approved Jenkins Builder: Verified
tch: fix RTP clock not ticking for unhandled payload types

When the payload type from the DSP is not handled by the switch
in l1if_tch_rx(), rmsg stays NULL and we return 0 without calling
add_l1sap_header(), silently dropping a 20ms RTP tick.

Always allocate an empty RTP frame when rmsg is NULL so the RTP
clock keeps ticking.

Related: OS#5974

Change-Id: I202522ea6f83d77872a2f84d9a2622b87e829a0c
---
M src/osmo-bts-sysmo/tch.c
1 file changed, 14 insertions(+), 8 deletions(-)

diff --git a/src/osmo-bts-sysmo/tch.c b/src/osmo-bts-sysmo/tch.c
index b5bf04b..6a431d0 100644
--- a/src/osmo-bts-sysmo/tch.c
+++ b/src/osmo-bts-sysmo/tch.c
@@ -601,15 +601,21 @@
/* FIXME: what about GsmL1_TchPlType_Amr_SidBad? not well documented. */
}

- if (rmsg)
- return add_l1sap_header(trx, rmsg, lchan, chan_nr, data_ind->u32Fn,
- data_ind->measParam.fBer * 10000,
- data_ind->measParam.fLinkQuality * 10,
- data_ind->measParam.fRssi,
- data_ind->measParam.i16BurstTiming * 64,
- 0);
+ if (!rmsg) {
+ LOGPLCFN(lchan, data_ind->u32Fn, DL1P, LOGL_NOTICE,
+ "Unhandled payload type %s, generating empty RTP tick\n",
+ get_value_string(femtobts_tch_pl_names, payload_type));
+ rmsg = msgb_alloc_headroom(256, 128, "L1P-to-RTP");
+ if (!rmsg)
+ return -ENOMEM;
+ }

- return 0;
+ return add_l1sap_header(trx, rmsg, lchan, chan_nr, data_ind->u32Fn,
+ data_ind->measParam.fBer * 10000,
+ data_ind->measParam.fLinkQuality * 10,
+ data_ind->measParam.fRssi,
+ data_ind->measParam.i16BurstTiming * 64,
+ 0);

err_payload_match:
LOGPLCFN(lchan, data_ind->u32Fn, DL1P, LOGL_ERROR, "%s Rx Payload Type %s incompatible with lchan\n",

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

Gerrit-MessageType: merged
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: I202522ea6f83d77872a2f84d9a2622b87e829a0c
Gerrit-Change-Number: 42244
Gerrit-PatchSet: 5
Gerrit-Owner: Thorkell Thorkelsson <thorkellmanithorkelsson@gmail.com>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: falconia <falcon@freecalypso.org>
Gerrit-Reviewer: fixeria <vyanitskiy@sysmocom.de>
Gerrit-Reviewer: laforge <laforge@osmocom.org>
Gerrit-Reviewer: pespin <pespin@sysmocom.de>