laforge submitted this change.

View Change


Approvals: fixeria: Looks good to me, but someone else must approve Jenkins Builder: Verified laforge: Looks good to me, approved
csd_bs: force rate adaptation mode for CSD calls to V.110

Certain calls (seen on very old Nokias) won't have the rate adaptation flag
set on "analog" CSD calls. The field for the intermediate rate (after RA) is
still filled correctly.
Workaround this by setting the RA to V.110 whenever the RA is unset but an
intermediate rate is specified.

Change-Id: I5b3e5649fe071636f1becddfbfee06f9175a5f17
---
M src/libmsc/csd_bs.c
1 file changed, 20 insertions(+), 0 deletions(-)

diff --git a/src/libmsc/csd_bs.c b/src/libmsc/csd_bs.c
index caea057..ab0b643 100644
--- a/src/libmsc/csd_bs.c
+++ b/src/libmsc/csd_bs.c
@@ -236,6 +236,11 @@
enum gsm48_bcap_user_rate rate = cap->data.user_rate;
bool async = cap->data.async;

+ /* 3.1kHz CSD calls won't have the rate adaptation field set
+ but do require rate adaptation. */
+ if (cap->data.interm_rate && !ra)
+ ra = GSM48_BCAP_RA_V110_X30;
+
if (ra == GSM48_BCAP_RA_V110_X30 && async && transp) {
switch (rate) {
case GSM48_BCAP_UR_300:

To view, visit change 34748. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: osmo-msc
Gerrit-Branch: master
Gerrit-Change-Id: I5b3e5649fe071636f1becddfbfee06f9175a5f17
Gerrit-Change-Number: 34748
Gerrit-PatchSet: 2
Gerrit-Owner: manawyrm <osmocom.account@tbspace.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy@sysmocom.de>
Gerrit-Reviewer: laforge <laforge@osmocom.org>
Gerrit-MessageType: merged