diff options
author | Max <msuraev@sysmocom.de> | 2016-10-28 16:52:48 +0200 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2016-11-03 12:31:37 +0000 |
commit | acfccb3f028c8417df42de9a6400896eb269a614 (patch) | |
tree | d2dc8cc8bd1a8b3de865e9f295f4dca53745f67a /src/common/l1sap.c | |
parent | 4008ebb9258b551e23ff66c5f5abf8880f4398d7 (diff) |
DTX fix ONSET handling
* re-introduce ST_ONSET_F to guard from repetitive ONSET messages in case
multiple FACCH occur duriing DTX silence period.
* produce ONSET event after both SID FIRST and UPDATE in case of AMR FR.
* always dispatch E_SID_F (SID FIRST) signal if in talkspurt.
* allow E_SID_* right after ONSET (zero-length talkspurt).
* add missing E_ONSET signal description.
* fix FSM transitions for AMR HR *Inhibited and First P*.
* fix incorrect return from l1if_tch_encode() in ONSET FACCH with
incoming SID UPDATE
Change-Id: I0e9033c5f169da46aed9a0d1295faff489778dcf
Related: OS#1801
Diffstat (limited to 'src/common/l1sap.c')
-rw-r--r-- | src/common/l1sap.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/common/l1sap.c b/src/common/l1sap.c index 13d8a944..ef248009 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -1145,10 +1145,12 @@ int l1sap_chan_act(struct gsm_bts_trx *trx, uint8_t chan_nr, struct tlv_parsed * /* Init DTX DL FSM if necessary */ //FIXME: only do it for AMR TCH/* - osmo_fsm_register(&dtx_dl_amr_fsm); - lchan->tch.dtx.dl_amr_fsm = osmo_fsm_inst_alloc(&dtx_dl_amr_fsm, - tall_bts_ctx, lchan, - LOGL_DEBUG, lchan->name); + if (trx->bts->dtxd) + lchan->tch.dtx.dl_amr_fsm = osmo_fsm_inst_alloc(&dtx_dl_amr_fsm, + tall_bts_ctx, + lchan, + LOGL_DEBUG, + lchan->name); return 0; } |