aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMax <msuraev@sysmocom.de>2016-08-13 12:54:26 +0200
committerMax <msuraev@sysmocom.de>2016-09-23 17:13:14 +0200
commitc77b574d1fbe43ca19db0e5e041b3b5e2a71b856 (patch)
tree3fe7e90d9290185f05b3b9502a046a07313d0ef4
parent70460814ce3600b9491dea6b1f541144283dcfb1 (diff)
lc15, sysmo: Use SID_FIRST_P1 to initiate DTX
Some phone seems to not send SID_FIRST_P2 message which seems like a different understanding of the DTX spec. L1 accommodates for that by using P1 to supply data for SID. Hence we should use it to initiate DTX and ignore P2 message in case of AMR HR. Change-Id: Iaf993b89caa0ad49b97d1c745dcaf039f867f018
-rw-r--r--src/osmo-bts-litecell15/tch.c3
-rw-r--r--src/osmo-bts-sysmo/tch.c3
2 files changed, 2 insertions, 4 deletions
diff --git a/src/osmo-bts-litecell15/tch.c b/src/osmo-bts-litecell15/tch.c
index 6ac27631..3c6ee25f 100644
--- a/src/osmo-bts-litecell15/tch.c
+++ b/src/osmo-bts-litecell15/tch.c
@@ -445,8 +445,7 @@ int l1if_tch_rx(struct gsm_bts_trx *trx, uint8_t chan_nr, struct msgb *l1p_msg)
case GsmL1_TchPlType_Amr:
rmsg = l1_to_rtppayload_amr(payload, payload_len, lchan);
break;
- case GsmL1_TchPlType_Amr_SidFirstP2:
- /* L1 do not give us SID_FIRST data, just indication */
+ case GsmL1_TchPlType_Amr_SidFirstP1:
memcpy(sid_first, payload, payload_len);
int len = osmo_amr_rtp_enc(sid_first, 0, AMR_SID, AMR_GOOD);
if (len < 0)
diff --git a/src/osmo-bts-sysmo/tch.c b/src/osmo-bts-sysmo/tch.c
index 4ea95c5f..745923c0 100644
--- a/src/osmo-bts-sysmo/tch.c
+++ b/src/osmo-bts-sysmo/tch.c
@@ -548,8 +548,7 @@ int l1if_tch_rx(struct gsm_bts_trx *trx, uint8_t chan_nr, struct msgb *l1p_msg)
case GsmL1_TchPlType_Amr:
rmsg = l1_to_rtppayload_amr(payload, payload_len, lchan);
break;
- case GsmL1_TchPlType_Amr_SidFirstP2:
- /* L1 do not give us SID_FIRST data, just indication */
+ case GsmL1_TchPlType_Amr_SidFirstP1:
memcpy(sid_first, payload, payload_len);
int len = osmo_amr_rtp_enc(sid_first, 0, AMR_SID, AMR_GOOD);
if (len < 0)