AMR DTX Downlink: We are not sending ONSET ?!?
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.
#8 Updated by msuraev about 3 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:
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
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
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.