diff options
author | Max <msuraev@sysmocom.de> | 2016-09-16 18:48:33 +0200 |
---|---|---|
committer | Max <msuraev@sysmocom.de> | 2016-09-23 16:57:05 +0200 |
commit | 527dd402c714c3ee0832fa2057b219075f8f7646 (patch) | |
tree | 2fe0bcb356dae2aae81f7823fb9d429bb1ed60e8 /include/osmo-bts | |
parent | 80473a113d012321fa1faec24794f0b048cb1a58 (diff) |
DTX: fix SID repeat scheduling
Previously SID retransmission was scheduled incorrectly based on GSM
frames instead of voice frames. Fix this by using GSM Fn only as elapsed
time estimation:
* move saved SID retransmission into generic function from lc15 and sysmo
specific code
* split retransmission time check into separate generic function
* compute estimation for elapsed time since last retransmission using
GSM Fn
Change-Id: Ib054b458a7345d9ba40dba53754ca59ab099c8e8
Fixes: OS#1799
Diffstat (limited to 'include/osmo-bts')
-rw-r--r-- | include/osmo-bts/msg_utils.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/osmo-bts/msg_utils.h b/include/osmo-bts/msg_utils.h index 591d1942..cde7a93b 100644 --- a/include/osmo-bts/msg_utils.h +++ b/include/osmo-bts/msg_utils.h @@ -23,6 +23,8 @@ enum { void lchan_set_marker(bool t, struct gsm_lchan *lchan); void save_last_sid(struct gsm_lchan *lchan, uint8_t *l1_payload, size_t length, uint32_t fn, bool update); +uint8_t repeat_last_sid(struct gsm_lchan *lchan, uint8_t *dst, uint32_t fn); +bool dtx_amr_sid_optional(const struct gsm_lchan *lchan, uint32_t fn); bool dtx_sched_optional(struct gsm_lchan *lchan, uint32_t fn); int msg_verify_ipa_structure(struct msgb *msg); int msg_verify_oml_structure(struct msgb *msg); |