diff options
author | Max <msuraev@sysmocom.de> | 2016-10-03 17:37:45 +0200 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2016-10-13 06:58:06 +0000 |
commit | babd05661d13b12234e848acf9c4bff909ef05f4 (patch) | |
tree | 656168076a94b5a430d2b0c1d856011e3b4c6a4d /include/osmo-bts/dtx_dl_amr_fsm.h | |
parent | c09e5a44c3c1c2882339fe8822f373b1e12839ae (diff) |
DTX DL: use FSM for AMR
Use dedicated FSM to handle all DTX DL related events:
- add explicit checks if DTX DL is enabled (fixes regression for non-DTX
setup introduced in 654175f33bd412671e3ef8cdd65c0689d10f278c)
- fix handling of AMR CMI for SPEECH frames
- add FSM for DTX DL
- sync with corresponding changes in OpenBSC's
- handle FACCH-related DTX ONSET events
This affects both lc15 and sysmobts and requires corresponding change in
OpenBSC (Change-Id: Idac8609faf9b5ced818fde899ccfc6ed0c42e8fd).
Change-Id: I74a0b42cb34d525b8a70d264135e82994ca70d31
Diffstat (limited to 'include/osmo-bts/dtx_dl_amr_fsm.h')
-rw-r--r-- | include/osmo-bts/dtx_dl_amr_fsm.h | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/include/osmo-bts/dtx_dl_amr_fsm.h b/include/osmo-bts/dtx_dl_amr_fsm.h new file mode 100644 index 00000000..8b195953 --- /dev/null +++ b/include/osmo-bts/dtx_dl_amr_fsm.h @@ -0,0 +1,35 @@ +#pragma once + +#include <osmocom/core/fsm.h> +#include <osmocom/core/utils.h> +#include <osmocom/core/logging.h> + +/* DTX DL AMR FSM */ + +#define X(s) (1 << (s)) + +enum dtx_dl_amr_fsm_states { + ST_VOICE, + ST_SID_F1, + ST_SID_F2, + ST_F1_INH, + ST_U_INH, + ST_SID_U, + ST_ONSET_V, + ST_ONSET_F, + ST_FACCH_V, + ST_FACCH, +}; + +enum dtx_dl_amr_fsm_events { + E_VOICE, + E_ONSET, + E_FACCH, + E_COMPL, + E_INHIB, + E_SID_F, + E_SID_U, +}; + +extern const struct value_string dtx_dl_amr_fsm_event_names[]; +extern struct osmo_fsm dtx_dl_amr_fsm; |