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 /src/common/l1sap.c | |
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 'src/common/l1sap.c')
-rw-r--r-- | src/common/l1sap.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/src/common/l1sap.c b/src/common/l1sap.c index e9c94f0d..e6e53db6 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -1161,8 +1161,7 @@ int l1sap_chan_act(struct gsm_bts_trx *trx, uint8_t chan_nr, struct tlv_parsed * return -RSL_ERR_EQUIPMENT_FAIL; /* Init DTX DL FSM if necessary */ - //FIXME: only do it for AMR TCH/* - if (trx->bts->dtxd) + if (trx->bts->dtxd && lchan->type != GSM_LCHAN_SDCCH) lchan->tch.dtx.dl_amr_fsm = osmo_fsm_inst_alloc(&dtx_dl_amr_fsm, tall_bts_ctx, lchan, |