summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMax <msuraev@sysmocom.de>2016-06-10 14:09:07 +0200
committerMax <msuraev@sysmocom.de>2016-06-10 14:09:07 +0200
commitf5fe31d5138379e997149e2bdd4a8de9e25d85bb (patch)
treeebf471ad79a121ea6f4bbacc3be5f7edd4144865
parentae3f0718f19e1c9bcd06941967ddb0db9fd4f876 (diff)
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
-rw-r--r--openbsc/include/openbsc/gsm_data_shared.h5
1 files changed, 5 insertions, 0 deletions
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 */