From f5fe31d5138379e997149e2bdd4a8de9e25d85bb Mon Sep 17 00:00:00 2001 From: Max Date: Fri, 10 Jun 2016 14:09:07 +0200 Subject: DTX: add data necessary for scheduling DTXd: to schedule SID repetition we have to know when previous SID was sent (fn) and if it was UPDATE or FIRST SID (is_update). DTXu: to properly set Marker bit in outgoing RTP we have to know the beginning of talkspurt. For codecs without explicit ONSET event we can do it by setting the flag (ul_sid) upon receiving SID and unsetting it on speech frames. Change-Id: I79cbec3b6c6fed5de385f8e202ceaf0b13234778 Related: OS#22, OS#1701 --- openbsc/include/openbsc/gsm_data_shared.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/openbsc/include/openbsc/gsm_data_shared.h b/openbsc/include/openbsc/gsm_data_shared.h index 60a689c94..a8bcd5d6a 100644 --- a/openbsc/include/openbsc/gsm_data_shared.h +++ b/openbsc/include/openbsc/gsm_data_shared.h @@ -289,7 +289,12 @@ struct gsm_lchan { struct { uint8_t buf[16]; uint8_t len; + uint32_t fn; + bool is_update; } last_sid; + /* set for each SID frame to detect talkspurt for codecs without + explicit ONSET event */ + bool ul_sid; uint8_t last_cmr; uint32_t last_fn; /* indicates if DTXd was active during DL measurement period */ -- cgit v1.2.3