manawyrm has uploaded this change for review.

View Change

gsm48_ie.c: 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: I260834f3d28034afa6b50a6ca8c89accba8fa65b
---
M src/gsm/gsm48_ie.c
1 file changed, 22 insertions(+), 0 deletions(-)

git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/45/34745/1
diff --git a/src/gsm/gsm48_ie.c b/src/gsm/gsm48_ie.c
index 7de1f98..749452f 100644
--- a/src/gsm/gsm48_ie.c
+++ b/src/gsm/gsm48_ie.c
@@ -281,6 +281,13 @@
bcap->data.parity = lv[i] & 7;
bcap->data.interm_rate = (lv[i] >> 5) & 3;

+ // 3.1kHz CSD calls won't have the rate adaptation field set
+ // but do require rate adaptation.
+ if (bcap->data.interm_rate && !bcap->data.rate_adaption)
+ {
+ bcap->data.rate_adaption = GSM48_BCAP_RA_V110_X30;
+ }
+
/* octet 6c */
if (!(lv[i] & 0x80)) {
i++;

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

Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: I260834f3d28034afa6b50a6ca8c89accba8fa65b
Gerrit-Change-Number: 34745
Gerrit-PatchSet: 1
Gerrit-Owner: manawyrm <osmocom.account@tbspace.de>
Gerrit-MessageType: newchange