commit | 71e8091c9d369b5f91cd2593e84d9db8264d47b4 | [log] [tgz] |
---|---|---|
author | Vadim Yanitskiy <vyanitskiy@sysmocom.de> | Sun May 15 14:50:45 2022 +0300 |
committer | Vadim Yanitskiy <vyanitskiy@sysmocom.de> | Mon May 16 00:51:57 2022 +0300 |
tree | 807fade5c6c000f5ac004f6f001c5b5c7d68ae73 | |
parent | eebaccdae5c27f6d0360851b867beca6c0a102a4 [diff] |
coding: properly handle AFS_SID_UPDATE frames in DTX mode There are two similar values in enum gsm0503_amr_dtx_frames: * AFS_SID_UPDATE - precursor of SID UPDATE, * AFS_SID_UPDATE_CN - the actual SID UPDATE. The former is internally used by libosmocoding to mark the current frame as a precursor of the actual SID UPDATE frame - the later. +---+---+---+---+---+---+---+---+ | _ | _ | _ | _ | a | b | c | d | AFS_SID_UPDATE +---+---+---+---+---+---+---+---+ | a | b | c | d | _ | _ | _ | _ | AFS_SID_UPDATE_CN +---+---+---+---+---+---+---+---+ This is required because function gsm0503_tch_afs_decode_dtx() is invoked by TDMA scheduler on every 4th received burst, while the burst buffer is 8 bursts wide. Currently, whenever gsm0503_detect_afs_dtx_frame() detects an AFS_SID_UPDATE frame, we still attempt to decode it as a speech or data below in gsm0503_tch_afs_decode_dtx(). This is indeed a bug, which results in unexpected BER values: * expected BER 0/212, * actual BER 252/448. We should return immediately once we have detected an AFS_SID_UPDATE. This patch fixes unexpected BER-SUB values during DTXu silence periods. Change-Id: I813081a4c0865958eee2496fe251ae17235ac842 Related: SYS#5853
This repository contains a set of C-language libraries that form the core infrastructure of many Osmocom Open Source Mobile Communications projects.
Historically, a lot of this code was developed as part of the OpenBSC project, but which are of a more generic nature and thus useful to (at least) other programs that we develop in the sphere of Free Software / Open Source mobile communications.
There is no clear scope of it. We simply move all shared code between the various Osmocom projects in this library to avoid code duplication.
The libosmocore.git repository build multiple libraries:
The official homepage of the project is https://osmocom.org/projects/libosmocore/wiki/Libosmocore
You can clone from the official libosmocore.git repository using
git clone git://git.osmocom.org/libosmocore.git
There is a cgit interface at https://git.osmocom.org/libosmocore/
Doxygen-generated API documentation is generated during the build process, but also available online for each of the sub-libraries at https://ftp.osmocom.org/api/latest/libosmocore/
Discussions related to libosmocore are happening on the openbsc@lists.osmocom.org mailing list, please see https://lists.osmocom.org/mailman/listinfo/openbsc for subscription options and the list archive.
Please observe the Osmocom Mailing List Rules when posting.
Our coding standards are described at https://osmocom.org/projects/cellular-infrastructure/wiki/Coding_standards
We us a gerrit based patch submission/review process for managing contributions. Please see https://osmocom.org/projects/cellular-infrastructure/wiki/Gerrit for more details
The current patch queue for libosmocore can be seen at https://gerrit.osmocom.org/#/q/project:libosmocore+status:open