diff options
author | Philipp Maier <pmaier@sysmocom.de> | 2020-02-06 14:31:22 +0100 |
---|---|---|
committer | laforge <laforge@osmocom.org> | 2020-04-25 14:03:06 +0000 |
commit | 58b9f1189843a91f53bce76b3afa9483f89440a0 (patch) | |
tree | 08b2c78e0749622636c82b7c42bd3b489bb77dc5 /include/osmo-bts | |
parent | 557ca0f468494f23171e4631734e931a7f5e7631 (diff) |
dtx: add detection of AMR DTX frames for osmo-bts-trx
Currently we do not detect any of the DTX frames (SID_FIRST, SID_UPDATE
etc.) Detecting and tagging those frames as is_sub is important for
measurement processing. Also the RTP marker bit must be set on each
ONSET frame.
- Add detection of DTX frames
- Tag DTX frames as is_sub and set frame type to AMR_SID
- Set RTP marker bit when ONSET frames are received
Change-Id: I5afe730fff2fa3199a5913b0de4f5c7b23a39f31
Depends: libosmocore I2bbdb39ea20461ca08b2e6f1a33532cb55cd5195
Related: OS#2978
Diffstat (limited to 'include/osmo-bts')
-rw-r--r-- | include/osmo-bts/scheduler.h | 1 | ||||
-rw-r--r-- | include/osmo-bts/scheduler_backend.h | 3 |
2 files changed, 3 insertions, 1 deletions
diff --git a/include/osmo-bts/scheduler.h b/include/osmo-bts/scheduler.h index fed3f04e..c0264119 100644 --- a/include/osmo-bts/scheduler.h +++ b/include/osmo-bts/scheduler.h @@ -106,6 +106,7 @@ struct l1sched_chan_state { uint8_t ul_cmr; /* current uplink CMR index */ uint8_t dl_cmr; /* current downlink CMR index */ uint8_t amr_loop; /* if AMR loop is enabled */ + uint8_t amr_last_dtx; /* last received dtx frame type */ /* TCH/H */ uint8_t dl_ongoing_facch; /* FACCH/H on downlink */ diff --git a/include/osmo-bts/scheduler_backend.h b/include/osmo-bts/scheduler_backend.h index 201b48c3..cfbe7f25 100644 --- a/include/osmo-bts/scheduler_backend.h +++ b/include/osmo-bts/scheduler_backend.h @@ -53,7 +53,8 @@ int _sched_compose_ph_data_ind(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, int _sched_compose_tch_ind(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, enum trx_chan_type chan, uint8_t *tch, uint8_t tch_len, - int16_t ta_offs_256bits, uint16_t ber10k, float rssi); + int16_t ta_offs_256bits, uint16_t ber10k, float rssi, + uint8_t is_sub); ubit_t *tx_idle_fn(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, enum trx_chan_type chan, uint8_t bid, uint16_t *nbits); |