summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeels Hofmeyr <neels@hofmeyr.de>2020-03-04 17:57:53 +0100
committerNeels Hofmeyr <neels@hofmeyr.de>2020-03-05 13:32:58 +0100
commit0c77a7f4cf2ff9f8b045ff7dac45bedcccbad07d (patch)
tree2e0476d9f8d3c2bd838f41ca6d90b089ef8f29cf
parentbf4a026db93f9b465be34917566ed1ab1802a014 (diff)
mobile: fix gsm_recv_voice: pull l1ctl header from TCH payload
That function encapsulates the RTP payload in an MNCC header, but the l1ctl dl header has to be removed first to get only the RTP payload in the MNCC structure. Change-Id: Id6ddc9b1da43e88c5b9468d4397a39953bdf533a
-rw-r--r--src/host/layer23/src/mobile/voice.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/host/layer23/src/mobile/voice.c b/src/host/layer23/src/mobile/voice.c
index b7678337..5106063e 100644
--- a/src/host/layer23/src/mobile/voice.c
+++ b/src/host/layer23/src/mobile/voice.c
@@ -38,6 +38,8 @@ static int gsm_recv_voice(struct osmocom_ms *ms, struct msgb *msg)
/* distribute and then free */
if (ms->mncc_entity.mncc_recv && ms->mncc_entity.ref) {
+ /* Drop the l1ctl_info_dl header */
+ msgb_pull_to_l2(msg);
/* push mncc header in front of data */
mncc = (struct gsm_data_frame *)
msgb_push(msg, sizeof(struct gsm_data_frame));