aboutsummaryrefslogtreecommitdiffstats
path: root/src/common/l1sap.c
diff options
context:
space:
mode:
authorMax <msuraev@sysmocom.de>2016-10-28 16:52:48 +0200
committerHarald Welte <laforge@gnumonks.org>2016-11-03 12:31:37 +0000
commitacfccb3f028c8417df42de9a6400896eb269a614 (patch)
treed2dc8cc8bd1a8b3de865e9f295f4dca53745f67a /src/common/l1sap.c
parent4008ebb9258b551e23ff66c5f5abf8880f4398d7 (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.c10
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;
}