[PATCH] osmo-bts[master]: DTX DL: add AMR HR support to scheduling check

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 31 18:19:59 UTC 2016


Hello Jenkins Builder,

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

    https://gerrit.osmocom.org/1174

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

DTX DL: add AMR HR support to scheduling check

superfemto.sh: Expand log converter to use case-insensitive matching to
accommodate for spelling differences in DSP logs. Add strings/events
specific to AMR HR.

dtx_check.gawk: Remove redundand variables from output. Add checks
specific to AMR HR.

Change-Id: Icce3178605f46bbf3cad15d4eaff18a4d164ad1a
---
M contrib/dtx_check.gawk
M contrib/superfemto.sh
2 files changed, 37 insertions(+), 18 deletions(-)


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

diff --git a/contrib/dtx_check.gawk b/contrib/dtx_check.gawk
index 9e753e4..7ac8b6d 100755
--- a/contrib/dtx_check.gawk
+++ b/contrib/dtx_check.gawk
@@ -27,9 +27,17 @@
 				CHK = "FAIL: missing ONSET (" $2 ") after " TYPE "."
 				ERR++
 		}
-		if ("FORCED_FIRST" == $2 || "FORCED_NODATA" == $2) {
+		if ("SID_P1" == $2) {
+			CHK = "FAIL: regular AMR payload with FT SID and STI=0 (should be either pyaload Update or STI=1)."
+			ERR++
+		}
+		if ("FORCED_FIRST" == $2 || "FORCED_NODATA" == $2 || "FORCED_F_P2" == $2 || "FORCED_F_INH" == $2 || "FORCED_U_INH" == $2) {
 			CHK = "FAIL: event " $2 " inserted by DSP."
 			FORCE++
+			ERR++
+		}
+		if ("FIRST_P2" != $2 && "FIRST_P1" == TYPE) {
+			CHK = "FAIL: " TYPE " followed by " $2 " instead of P2."
 			ERR++
 		}
 		if ("OK" == CHK) { # check inter-SID distances:
@@ -65,7 +73,7 @@
 	if ("UPDATE" == $2 || "FIRST" == $2) { # silence
 		SILENCE = 1
 	}
-	print $1, $2, CHK, TYPE, DELTA, SILENCE
+	print $1, $2, CHK
 	if ($2 != "EMPTY") { # skip over EMPTY records
 		TYPE = $2
 		FN = $1
diff --git a/contrib/superfemto.sh b/contrib/superfemto.sh
index cb871c0..a210cc4 100755
--- a/contrib/superfemto.sh
+++ b/contrib/superfemto.sh
@@ -19,21 +19,32 @@
 ULST="_DecodeAndIdentify"
 
 # DL sed filters:
-D_EMP='s/ Empty frame request!/EMPTY/'
-D_FAC='s/ Coding a FACCH\/F frame !!/FACCH/'
-D_FST='s/ Coding a RTP SID First frame !!/FIRST/'
-D_UPD='s/ Coding a RTP SID Update frame !!/UPDATE/'
-D_SPE='s/ Coding a RTP Speech frame !!/SPEECH/'
-D_ONS='s/ Coding a Onset frame !!/ONSET/'
-D_FO1='s/ A speech frame is following a NoData or SID First without an Onset./FORCED_FIRST/'
-D_FO2='s/ A speech frame is following a NoData without an Onset./FORCED_NODATA/'
+D_EMP='s/ Empty frame request!/EMPTY/i'
+D_FAC='s/ Coding a FACCH\/. frame !!/FACCH/i'
+D_FST='s/ Coding a RTP SID First frame !!/FIRST/i'
+D_FS1='s/ Coding a SID First P1 frame !!/FIRST_P1/i'
+D_FS2='s/ Coding a SID First P2 frame !!/FIRST_P2/i'
+D_RP1='s/ Coding a RTP SID P1 frame !!/SID_P1/i'
+D_UPD='s/ Coding a RTP SID Update frame !!/UPDATE/i'
+D_SPE='s/ Coding a RTP Speech frame !!/SPEECH/i'
+D_ONS='s/ Coding a Onset frame !!/ONSET/i'
+D_FO1='s/ A speech frame is following a NoData or SID First without an Onset./FORCED_FIRST/i'
+D_FO2='s/ A speech frame is following a NoData without an Onset./FORCED_NODATA/i'
+D_FP2='s/ A speech frame is following a NoData or SID_FIRST_P2 without an Onset./FORCED_F_P2/i'
+D_FIN='s/ A speech frame is following a SID_FIRST without inhibit. A SID_FIRST_INH will be inserted./FORCED_F_INH/i'
+D_UIN='s/ A speech frame is following a SID_UPDATE without inhibit. A SID_UPDATE_INH will be inserted./FORCED_U_INH/i'
 
 # UL sed filters:
-U_NOD='s/ It is a No Data frame !!/NODATA/'
-U_ONS='s/ It is an ONSET frame !!/ONSET/'
-U_UPD='s/ It is a SID UPDATE frame !!/UPDATE/'
-U_FST='s/ It is a SID FIRST frame !!/FIRST/'
-U_SPE='s/ It is a SPEECH frame !!/SPEECH/'
+U_NOD='s/ It is a No Data frame !!/NODATA/i'
+U_ONS='s/ It is an ONSET frame !!/ONSET/i'
+U_UPD='s/ It is a SID UPDATE frame !!/UPDATE/i'
+U_FST='s/ It is a SID FIRST frame !!/FIRST/i'
+U_FP1='s/ It is a SID-First P1 frame !!/FIRST_P1/i'
+U_FP2='s/ It is a SID-First P2 frame !!/FIRST_P2/i'
+U_SPE='s/ It is a SPEECH frame *!!/SPEECH/i'
+U_UIN='s/ It is a SID update InH frame !!/UPD_INH/i'
+U_FIN='s/ It is a SID-First InH frame !!/FST_INH/i'
+U_RAT='s/ It is a RATSCCH data frame !!/RATSCCH/i'
 
 DL () { # filter downlink-related entries
     grep $DLST $1 > $1.DL.tmp
@@ -66,7 +77,7 @@
 MT $1.UL
 
 PREP() { # prepare logs for reformatting
-    cat $1.raw | cut -f2 -d')' | cut -f1 -d',' | cut -f2 -d'>' | sed 's/\[u32Fn/fn/' | sed 's/fn = /fn=/' | sed 's/fn=//' | sed 's/\[Fn=//' | sed 's/ An Onset will be inserted.//' > $1.tmp1
+    cat $1.raw | cut -f2 -d')' | cut -f1 -d',' | cut -f2 -d'>' | sed 's/\[u32Fn/fn/' | sed 's/\[ u32Fn/fn/' | sed 's/fn = /fn=/' | sed 's/fn=//' | sed 's/\[Fn=//' | sed 's/ An Onset will be inserted.//' > $1.tmp1
 }
 
 PREP "$1.DL.MT"
@@ -75,11 +86,11 @@
 PREP "$1.UL.MO"
 
 RD() { # reformat DL logs for consistency checks
-    cat $1.tmp1 | sed "$D_FST" | sed "$D_SPE" | sed "$D_UPD" | sed "$D_ONS" | sed "$D_EMP" | sed "$D_FAC" | sed "$D_FO1" | sed "$D_FO2" > $1.tmp2
+    cat $1.tmp1 | sed "$D_FST" | sed "$D_SPE" | sed "$D_FS1" | sed "$D_FS2" | sed "$D_UIN" | sed "$D_FIN" | sed "$D_UPD" | sed "$D_INH" | sed "$D_RP1" | sed "$D_ONS" | sed "$D_EMP" | sed "$D_FAC" | sed "$D_FO1" | sed "$D_FO2" | sed "$D_FP2" > $1.tmp2
 }
 
 RU() { # reformat UL logs for consistency checks
-    cat $1.tmp1 | sed "$U_FST" | sed "$U_SPE" | sed "$U_UPD" | sed "$U_ONS" | sed "$U_NOD" > $1.tmp2
+    cat $1.tmp1 | sed "$U_FST" | sed "$U_SPE" | sed "$U_FP1" | sed "$U_FP2" | sed "$U_UPD" | sed "$U_ONS" | sed "$U_NOD" | sed "$U_UIN" | sed "$U_FIN" | sed "$U_RAT" > $1.tmp2
 }
 
 RD "$1.DL.MT"

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

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Icce3178605f46bbf3cad15d4eaff18a4d164ad1a
Gerrit-PatchSet: 2
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Owner: Max <msuraev at sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Max <msuraev at sysmocom.de>



More information about the gerrit-log mailing list