Project

General

Profile

Actions

Bug #1802

closed

AMR DTX Downlink: We are not sending ONSET ?!?

Added by laforge over 7 years ago. Updated over 7 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
-
Target version:
-
Start date:
08/20/2016
Due date:
% Done:

100%

Spec Reference:

Description

When we first receive valid (non-SID) RTP AMR frames again in downlink, we need to start the proper ONSET procedure, both for AMR/HR and AMR/FR. The L1 API of osmo-bts-sysmo and osmo-bts-litecell15 provides GsmL1_TchPlType_Amr_Onset for that.


Related issues

Related to OsmoBTS - Bug #1803: osmo-bts-litecell15: AMR FR: some RTP buffers are never releasedClosedlaforge08/20/2016

Actions
Related to OsmoBTS - Bug #1801: AMR DTX: downlink logic flawedClosedmsuraev08/20/2016

Actions
Actions #1

Updated by laforge over 7 years ago

  • Related to Bug #1803: osmo-bts-litecell15: AMR FR: some RTP buffers are never released added
Actions #2

Updated by laforge over 7 years ago

  • Assignee changed from 4368 to msuraev
Actions #3

Updated by msuraev over 7 years ago

  • Status changed from New to Stalled

Fix is waiting for review in gerrit #691.

Actions #4

Updated by msuraev over 7 years ago

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

Note to self: FACCH should also trigger onset event followed by actual data.

Actions #5

Updated by msuraev over 7 years ago

Gerrit #691 has been merged to master but in dsp trace there are still missing onset frames - most likely due to some issue with libosmoabis which leads to marker bit not being propagated to callback function. Investigation is in progress.

Actions #6

Updated by msuraev over 7 years ago

  • % Done changed from 10 to 80

Should be fixed by gerrit # 1030, 1031. Waiting for test confirmation.

Actions #7

Updated by msuraev over 7 years ago

  • Related to Bug #1801: AMR DTX: downlink logic flawed added
Actions #8

Updated by msuraev over 7 years ago

The reason ONSET is not sent on talkspurt is broken metadata (markbit) from ortp:

The macros like rtp_get_markbit() are defined as follows:

#define rtp_get_markbit(mp)»····(((rtp_header_t*)((mp)->b_rptr))->markbit)

so they use mp->b_rptr as a pointer to the header of the RTP packet.

However, the current code, you first use something like
rtp_get_payload(mp, &mp->b_rptr);

Which usee b_rptr as an output value and actually advances it to the
start of the packet payload.

I strongly suggest that you use something like
uint8_t *payload;
int payload_size;
payload_size = rtp_get_payload(mp, &payload);

which will keep b_rptr pointing to the header and thus make the
above-mentioend macros still work.

Actions #9

Updated by msuraev over 7 years ago

  • Status changed from In Progress to Resolved
  • Assignee changed from msuraev to laforge
  • % Done changed from 80 to 100

With latest fix to libosmo-abis we're no getting marker bit and hence sending onset.

Actions #10

Updated by laforge over 7 years ago

  • Status changed from Resolved to Closed
Actions

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 48.8 MB)