[PATCH] osmo-bts[master]: DTX DL: split ONSET state handling

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

Max gerrit-no-reply at lists.osmocom.org
Mon Oct 24 11:27:38 UTC 2016


Hello Harald Welte, Jenkins Builder,

I'd like you to reexamine a change.  Please visit

    https://gerrit.osmocom.org/1145

to look at the new patch set (#2).

DTX DL: split ONSET state handling

Handling ONSET cause by Voice and FACCH separately. In case of Voice we
have RTP payload which we have to cache and send in next response to L1
while FACCH do not have any payload which have to be cached.

This affects lc15 and sysmo hw as there's no FSM-based DTX
implementation for other models yet.

Change-Id: Idba14dcd0cb12cd7aee86391fcc152c49fcd7052
Related: OS#1801
---
M src/osmo-bts-litecell15/tch.c
M src/osmo-bts-sysmo/tch.c
2 files changed, 16 insertions(+), 4 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/45/1145/2

diff --git a/src/osmo-bts-litecell15/tch.c b/src/osmo-bts-litecell15/tch.c
index b251388..2b55f4e 100644
--- a/src/osmo-bts-litecell15/tch.c
+++ b/src/osmo-bts-litecell15/tch.c
@@ -284,11 +284,17 @@
 
 		/* DTX DL-specific logic below: */
 		switch (lchan->tch.dtx.dl_amr_fsm->state) {
-		case ST_ONSET_V:
 		case ST_ONSET_F:
 			*payload_type = GsmL1_TchPlType_Amr_Onset;
+			/* Next SID after FACCH ONSET is always FIRST */
+			lchan->tch.dtx.is_update = false;
+			*len = 3;
+			/* There is nothing to cache for FACCH ONSET */
+			return 0;
+		case ST_ONSET_V:
+			*payload_type = GsmL1_TchPlType_Amr_Onset;
 			dtx_cache_payload(lchan, rtp_pl, rtp_pl_len, fn, 0);
-			*len = 1;
+			*len = 3;
 			return 1;
 		case ST_VOICE:
 			*payload_type = GsmL1_TchPlType_Amr;
diff --git a/src/osmo-bts-sysmo/tch.c b/src/osmo-bts-sysmo/tch.c
index b08ba7e..c6515dd 100644
--- a/src/osmo-bts-sysmo/tch.c
+++ b/src/osmo-bts-sysmo/tch.c
@@ -382,11 +382,17 @@
 
 		/* DTX DL-specific logic below: */
 		switch (lchan->tch.dtx.dl_amr_fsm->state) {
-		case ST_ONSET_V:
 		case ST_ONSET_F:
 			*payload_type = GsmL1_TchPlType_Amr_Onset;
+			/* Next SID after FACCH ONSET is always FIRST */
+			lchan->tch.dtx.is_update = false;
+			*len = 3;
+			/* There is nothing to cache for FACCH ONSET */
+			return 0;
+		case ST_ONSET_V:
+			*payload_type = GsmL1_TchPlType_Amr_Onset;
 			dtx_cache_payload(lchan, rtp_pl, rtp_pl_len, fn, 0);
-			*len = 1;
+			*len = 3;
 			return 1;
 		case ST_VOICE:
 			*payload_type = GsmL1_TchPlType_Amr;

-- 
To view, visit https://gerrit.osmocom.org/1145
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Idba14dcd0cb12cd7aee86391fcc152c49fcd7052
Gerrit-PatchSet: 2
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Owner: Max <msuraev at sysmocom.de>
Gerrit-Reviewer: Harald Welte <laforge at gnumonks.org>
Gerrit-Reviewer: Jenkins Builder



More information about the gerrit-log mailing list