Project

General

Profile

Bug #2700

Odd RTP behavior in case of bad / missing speech frames

Added by laforge 8 months ago. Updated 5 months ago.

Status:
New
Priority:
High
Assignee:
Category:
osmo-bts-trx
Target version:
-
Start date:
12/02/2017
Due date:
% Done:

0%

Estimated time:
Spec Reference:

Description

I'm testing the osmo-bts-trx receiver behavior under a variety of conditions.

In case osmo-trx fails to send us some bursts, or in case such bursts are lost, we are seeing a behavior in which the RTP packets on Abis are sent in irregular intervals.

The normal behavior (all bursts from osmo-trx arriving) looks like this:

However, when 8 consecutive burst are dropped at every 10th 26-multiframe, we get:

So whenever the bursts are lost, we get the related RTP packets 44-48ms after the previous one, as opposed to the normal ~20ms

History

#1 Updated by laforge 6 months ago

  • Assignee set to pespin

#2 Updated by laforge 6 months ago

  • Priority changed from Normal to High

#3 Updated by pespin 5 months ago

Hi Harald,

can you detail how did you test both scenarios? What's the setup difference between both? How did you configure the system to have 8 consecutive burst dropped at every 10th 26-multiframe? Or is it an unwanted behavior?

#4 Updated by laforge 5 months ago

On Wed, Feb 14, 2018 at 04:26:38PM +0000, pespin [REDMINE] wrote:

can you detail how did you test both scenarios? What's the setup difference between both? How did you configure the system to have 8 consecutive burst dropped at every 10th 26-multiframe? Or is it an unwanted behavior?

I have no clue, this follow-up question is unfortunately too long after I did the related work
for me to remember the details. It was probbably related to implementing some PHY / BER related
tests at the time. At least the utils/prbs-tool in the libosmocore.git branch laforge/prbs-tool
contains somce code like

+       /* loose 'count' bursts every 'nth_mframe' on TRX-BTS interface */
+       struct {
+               unsigned int count;
+               unsigned int nth_mframe;
+       } sim_lost_bursts;

I used this tool to generate bursts (rather than using osmo-trx) and then fed them into
osmo-bts-trx. I remember it was in combination with the fake_trx from fixeria, so basically
fake_trx was used to handle the control commands like SETBSIC, etc. and prbs-tool was used
to generate the traffic channel bits with configurable errors/drop-outs.

I think I then manually activate some TCH lchans using VTY commands

#5 Updated by fixeria 5 months ago

Hi pespin,

I would like to add my two cents here.

You can actually sniff a normal or virtual connection
between a phone and osmo-bts-trx, using a new tool called
trx_sniff.py from the FakeTRX toolkit.

Then you can modify the capture, e.g. dropping some bursts,
and replay it using another tool called burst_send.py.

The problem is that I still have not finished the
implementation of burst_send.py, to make it able to reply
the capture files. Anyway, the capture format is described
in burst_send.py. If you would like to use this toolkit,
just let me know and I'll try to finish the implementation ASAP ;)

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 48.8 MB)