Project

General

Profile

Feature #3750

Extension of BTS_Tests.ttcn test coverage

Added by laforge almost 3 years ago. Updated 4 months ago.

Status:
Resolved
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
Start date:
01/08/2019
Due date:
% Done:

100%

Spec Reference:

Description

Extension of the BTS Tests.ttcn test suite as well as its dependencies to extend the test coverage to cover the following scenarios, for which currently no automatic test coverage exists


Checklist

  • RSL channel activation with timing advance from initial activation onwards.
  • RSL MODE MODIFY with encryption parameter IE and/or multirate configuration IE.
  • RSL DEACTIVATE slow associated control channel (“SACCH”)
  • Handover Detection
  • Mobile station (“MS”) Power Control
  • Base station (“BS”) Power Control
  • Common control channel (“CCCH”) LOAD INDICATION for random access channel (“RACH”)
  • Cell broadcast channel (“CBCH”) LOAD INDICATION
  • RF RESOURCE INDICATION
  • Error handling, such as discriminator error, type error, sequence error, duplicated IE
  • Packet control unit (“PCU”) interface
  • SACCH INFO as part of RSL CHAN ACT
  • SACCH transmission rules in the context of special CHAN ACT (HO)

Related issues

Related to OsmoBTS - Bug #4008: Channel Activation starts SACCH too early in Asynchronous HandoverIn Progress05/19/2019

Related to OsmoBTS - Bug #4009: Channel Activation starts SACCH too early in Synchronous HandoverNew05/19/2019

Related to OsmoBTS - Bug #4011: BTS_Tests.ttcn coverage for SMSCB/CBCHResolved05/19/2019

Related to OsmoBTS - Bug #1622: OsmoBTS power control incompliant to TS 05.08 and TS 08.58Resolved02/23/2016

Related to OsmoBTS - Bug #4023: Missing coverage of PCU interface in osmo-btsStalled05/24/2019

Related to OsmoBTS - Bug #4031: OML part of BTS has no TTCN-3 testsNew05/29/2019

Related to libosmocore - Bug #4035: LAPDm implementation truncates L3 messages at 200 bytesResolved06/01/2019

Related to OsmoBTS - Feature #1569: Report RF interference levels as part of RF RESOURCE INDICATIONResolved02/23/2016

Associated revisions

Revision 7023aa0a (diff)
Added by laforge over 2 years ago

lapdm_rslms_recvmsg: Fix memory leak in error path

The caller of lapdm_rslms_recvmsg() (e.g. osmo-bts/src/common/rsl.c)
assumes the message ownership is transferred. However, in one of the
two error paths, msgb_free() was not called and hence we had a memory
leak.

Also clarify the msgb ownership transfer in a comment.

Related: OS#3750
Change-Id: Id60cb45e50bfc89224d97df6c68fcd2949751895

Revision d96fd011 (diff)
Added by laforge over 2 years ago

rsl: Send RSL Error Report in case of unknown/unsupported msg_type

Send an RSL Error Report in case of unknown/unsupported msg_type,
as describedi in section 7.3 of 3GPP TS 48.058.

Related: OS#3750
Change-Id: Ib2918007410e635b144a7535cec30b9f3378c755

Revision bac9224b (diff)
Added by laforge over 2 years ago

rsl: Include Channel Nr and Link ID in Error reports whenever possible

While the CHAN_NR and LINK_ID IEs in ERROR REPORRT are optional, we
still should include it whenever possible to help error analysis.

Related: OS#3750
Change-Id: I8155e0d37096bd7bf3563e4f7853171ca4b3aa58

Revision 1873a30a (diff)
Added by laforge over 2 years ago

RSL: Reject RLL messages for lchans that are not active yet

The Radio Link Layer (RLL) messages only make sense when a given
logical channel is active. If it isn't active, let's reject the
messages with an RSL ERROR REPORT with cause "Message sequence error",
wich according to spec means:

"A message with an existing message type which is not possible according
to the specification and to the state of the BTS is erroneous."

Related: OS#3750
Change-Id: I68dbb622aeaee657471664cdc0b69c2ac316d77e

Revision 7240062b (diff)
Added by laforge over 2 years ago

RSL: Fix off-by-one error when parsing SACCH INFO IE in RSL CHAN ACT

This off-by-one error in length verification caused all SACCH INFO IE
to be deemed invalid and hence any RSL CHAN ACT with that IE to be
rejected.

Change-Id: I6436caf5c2caefbf7c089d66e37d8d1babe1c24e
Related: OS#3750

Revision 095654d3 (diff)
Added by laforge over 2 years ago

load_indication: Fix missing re-set of RACH parameters

While we re-set the PCH load counters after every report, we never
actually re-set the RACH load counters. This meant that the
period/window for RACH load averaging would always grow, rather than
being reset every load indication period.

Related: OS#3750
Change-Id: Icd9150ba56d77d031c3cf496c5936c2de52b364c

Revision 03e3fae6 (diff)
Added by laforge over 2 years ago

l1sap: Correctly count RACH slots in calc_exprd_rach_frames()

We used a bogus multiplication factor of four when computing the number
of expired RACH slots. While there are four RACH slots per block (i.e.
4 times more RACH received than normal MAC blocks), that multiplier
doesn't apply here: We are calling this function per frame and not
per block. So the maximum number of RACH slots per frame is (in
most suual cases with a single CCCH) at maximum 1. Only some obscure
configurations with multiple CCCHs in a single cell would render higher
values. In any case, blocks never even enter this equation.

This wrong multiplier resulted in rather weird RACH load reports to the
BSC.

Related: OS#3750
Change-Id: I6b14fd6e7819f9164fb4a09b432a9f419e3b6e5c

Revision f2419bf8 (diff)
Added by laforge over 2 years ago

l1sap: Fix calculation of expired RACH slots in case of missing frame numbers

In case of a Combined CCCH (with SDCCH/4), the number of RACH slots
depends on the frame number. So in case of lost/skipped frame numbers,
we cannot simply compute the value for the current fn and then multiply
it by the number of frame numbers expired. Rather, we have to 'replay'
all missed frame numbers and individually determine how many RACH
slots happened in that frame.

Related: OS#3750
Change-Id: If4f8d2ea55fc722c64c330cde09e833b67ee98fe

History

#1 Updated by laforge almost 3 years ago

  • Assignee set to sysmocom

#2 Updated by laforge over 2 years ago

  • Priority changed from Normal to Urgent

#3 Updated by laforge over 2 years ago

  • Checklist item Error handling, such as discriminator error, type error, sequence error, duplicated IE set to Done

#4 Updated by laforge over 2 years ago

  • Status changed from New to In Progress
  • % Done changed from 0 to 10

#5 Updated by laforge over 2 years ago

  • Checklist item SACCH INFO as part of RSL CHAN ACT added

https://gerrit.osmocom.org/#/c/osmo-ttcn3-hacks/+/14089/ for SACH INFO as part of RSL CHAN ACT. Testcase immediately found an error in osmo-bts which is fixed in https://gerrit.osmocom.org/#/c/osmo-bts/+/14087/

#6 Updated by laforge over 2 years ago

  • Related to Bug #4008: Channel Activation starts SACCH too early in Asynchronous Handover added

#7 Updated by laforge over 2 years ago

  • Related to Bug #4009: Channel Activation starts SACCH too early in Synchronous Handover added

#8 Updated by laforge over 2 years ago

  • Checklist item SACCH transmission rules in the context of special CHAN ACT (HO) added

Issues #4008 + #4009 were just uncovered by adding tests for the SACCH transmission rules in case of HO related CHAN ACT.

#9 Updated by laforge over 2 years ago

  • Related to Bug #4011: BTS_Tests.ttcn coverage for SMSCB/CBCH added

#10 Updated by laforge over 2 years ago

  • Checklist item SACCH transmission rules in the context of special CHAN ACT (HO) set to Done
  • % Done changed from 10 to 20

tests for SACCH related transmission rules on hand-over related channel activation in https://gerrit.osmocom.org/#/c/osmo-ttcn3-hacks/+/14094

#11 Updated by laforge over 2 years ago

  • Checklist item Cell broadcast channel (“CBCH”) LOAD INDICATION set to Done

#12 Updated by laforge over 2 years ago

  • Related to Bug #1622: OsmoBTS power control incompliant to TS 05.08 and TS 08.58 added

#13 Updated by Hoernchen over 2 years ago

  • Checklist item RSL channel activation with timing advance from initial activation onwards. set to Done

#14 Updated by laforge over 2 years ago

  • Checklist item Common control channel (“CCCH”) LOAD INDICATION for random access channel (“RACH”) set to Done
  • % Done changed from 20 to 50

https://gerrit.osmocom.org/#/c/osmo-ttcn3-hacks/+/14169 contains tests for RACH load indications. There were several fixes required in osmo-bts in order to make it pass: https://gerrit.osmocom.org/14158, https://gerrit.osmocom.org/#/c/osmo-bts/+/14159/ and https://gerrit.osmocom.org/#/c/osmo-bts/+/14160/

The initial TA from RSL CHAN ACT has been implemented by @Hoernchen in https://gerrit.osmocom.org/#/c/osmo-ttcn3-hacks/+/14151/

#15 Updated by laforge over 2 years ago

  • Related to Bug #4023: Missing coverage of PCU interface in osmo-bts added

#16 Updated by laforge over 2 years ago

  • Checklist item deleted (TIME_IND from BTS → PCU)
  • Checklist item deleted (DATA_IND from BTS → PCU)
  • Checklist item deleted (PCU-originated DATA_REQ arrival on Um/MS side)

moving PCU related checlist items to #4023

#17 Updated by Hoernchen over 2 years ago

  • Checklist item RSL MODE MODIFY with encryption parameter IE and/or multirate configuration IE. set to Done
  • Checklist item RSL DEACTIVATE slow associated control channel (“SACCH”) set to Done

#18 Updated by laforge over 2 years ago

  • Related to Bug #4031: OML part of BTS has no TTCN-3 tests added

#19 Updated by laforge over 2 years ago

  • Related to Bug #4035: LAPDm implementation truncates L3 messages at 200 bytes added

#20 Updated by laforge over 2 years ago

  • Checklist item Handover Detection set to Done
  • % Done changed from 50 to 70

#21 Updated by Hoernchen over 2 years ago

  • Checklist item Mobile station (“MS”) Power Control set to Done
  • % Done changed from 70 to 60

#22 Updated by laforge over 2 years ago

  • Assignee changed from sysmocom to Hoernchen
  • Priority changed from Urgent to Normal

#23 Updated by Hoernchen over 2 years ago

  • Checklist item Base station (“BS”) Power Control set to Done

#24 Updated by Hoernchen over 2 years ago

There is currently no reasonable way to test the RF RESOURCE INDICATION, osmo-bts does currently not use the parameters from TS 100 623 (9.4.24 Intave 9.4.25 Interference level Boundaries), and while osmo-trx can be polled for noise measurements those measurements are currently done by averaging 20 idle bursts, while intave is specified as average of # sacch frames (480ms), and even if all that was not the case it would still not be possible to test all of that without creating artificial noise to trigger a interference level change which in turn would trigger the sending of a RF RESOURCE INDICATION message.

#25 Updated by Hoernchen over 2 years ago

  • Related to Feature #1569: Report RF interference levels as part of RF RESOURCE INDICATION added

#26 Updated by fixeria almost 2 years ago

There is currently no reasonable way to test the RF RESOURCE INDICATION [...]

Please see https://gerrit.osmocom.org/c/osmo-bts/+/15989. I believe this change would facilitate getting the actual (not averaged) interference levels. Since TRXDv1, OsmoTRX sends us IDLE indications (basically measurements during IDLE frames) and NOPE indications (when a burst was expected, but has not been received / detected).

[...] and even if all that was not the case it would still not be possible to test all of that without creating artificial noise to trigger a interference level change [...]

We can simulate pretty much everything with a virtual Um-interface - FakeTRX. The problem is that sending of IDLE / NOPE indications is still missing there :/ If I had time, I would implement this in a few days.

#27 Updated by laforge almost 2 years ago

  • Status changed from In Progress to New
  • Assignee deleted (Hoernchen)

#28 Updated by laforge over 1 year ago

  • Checklist item Packet control unit (“PCU”) interface set to Done
  • % Done changed from 60 to 90

PCU socket is tested for most parts (and has a separate issue #4023).

So RF RESOURCE IND is the only untested message.

#29 Updated by laforge over 1 year ago

  • Status changed from New to Resolved

marking as resolved; RF_RES_IND tests should be implemented in #1569

#30 Updated by fixeria 4 months ago

  • Checklist item RF RESOURCE INDICATION set to Done
  • % Done changed from 90 to 100

For the sake of completeness:

https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24567 BTS: add a test case for RF RESource INDication [WIP]

The progress can be tracked in #1569.

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 48.8 MB)