diff options
author | Max <msuraev@sysmocom.de> | 2016-12-28 12:43:09 +0100 |
---|---|---|
committer | Max <msuraev@sysmocom.de> | 2017-01-04 11:25:17 +0100 |
commit | f9778b2a26ce06959ee7e188eb1d533d896f1846 (patch) | |
tree | 6726018873d26f98e57c72aa932882aaacebdbea /include/osmo-bts/msg_utils.h | |
parent | c2ecca6b0496127709dcd3afa9d366085d8bec97 (diff) |
DTX AMR HR: fix inhibition
* Unlike in AMR FR, in AMR HR incoming ONSET have to be treated
differently depending on whether we've recently sent SID UPDATE or
EMPTY frame. Split ST_SID_U FSM state into 2 states to accommodate for
that and make sure that additional states specific to AMR HR are not
used for AMR FR.
* Avoid sending E_VOICE and E_SID_U in corresponding states
as those do not initiate FSM state transitions anyway. This decrease
extra load from FSM signalling which otherwise would be triggered on
per-frame basis.
* Introduce separate signal for SID First P1 -> P2 transition to avoid
confusion with E_COMPL and E_SID_U initiated transitions from P1
state.
* Don't init DTX FSM for SDCCH channels.
Change-Id: I229ba39a38a223fada4881fc9aca35d3639371f8
Related: OS#1801
Diffstat (limited to 'include/osmo-bts/msg_utils.h')
-rw-r--r-- | include/osmo-bts/msg_utils.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/osmo-bts/msg_utils.h b/include/osmo-bts/msg_utils.h index 55e8475d..7ddbe88f 100644 --- a/include/osmo-bts/msg_utils.h +++ b/include/osmo-bts/msg_utils.h @@ -37,6 +37,7 @@ bool dtx_dl_amr_enabled(const struct gsm_lchan *lchan); void dtx_dispatch(struct gsm_lchan *lchan, enum dtx_dl_amr_fsm_events e); bool dtx_recursion(const struct gsm_lchan *lchan); void dtx_int_signal(struct gsm_lchan *lchan); +bool dtx_is_first_p1(const struct gsm_lchan *lchan); void dtx_cache_payload(struct gsm_lchan *lchan, const uint8_t *l1_payload, size_t length, uint32_t fn, int update); int dtx_dl_amr_fsm_step(struct gsm_lchan *lchan, const uint8_t *rtp_pl, |