osmith has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/osmo-msc/+/33591 )


Change subject: csd_bs_list_to_gsm0808_channel_type: add T 300
......................................................................

csd_bs_list_to_gsm0808_channel_type: add T 300

There is no GSM0808_DATA_RATE_TRANSP_300 (not in libosmocore and not in
3GPP TS 48.008 ยง 3.2.11 on which the enum is based). As I understand it,
we need to use GSM0808_DATA_RATE_TRANSP_600 and half rate TCH.

Use GSM0808_DATA_FULL_BM instead of GSM0808_SPEECH_FULL_BM. The value is
0x8 for both, but this is the correct name.

Related: OS#4394
Change-Id: I7297cc481fbe36355b5231ca800cf566a1ee93c0
---
M src/libmsc/csd_bs.c
1 file changed, 27 insertions(+), 4 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/91/33591/1

diff --git a/src/libmsc/csd_bs.c b/src/libmsc/csd_bs.c
index 2322f20..9a7dce1 100644
--- a/src/libmsc/csd_bs.c
+++ b/src/libmsc/csd_bs.c
@@ -180,16 +180,23 @@
        return csd_bs_to_str_c(OTC_SELECT, bs);
 }

-static int csd_bs_to_gsm0808_data_rate_transp(enum csd_bs bs)
+static int csd_bs_to_gsm0808_data_rate_transp(enum csd_bs bs, uint8_t 
*ch_rate_type)
 {
        switch (bs_map[bs].rate) {
+       case 300:
+               *ch_rate_type = GSM0808_DATA_HALF_LM;
+               return GSM0808_DATA_RATE_TRANSP_600;
        case 1200:
+               *ch_rate_type = GSM0808_DATA_FULL_BM;
                return GSM0808_DATA_RATE_TRANSP_1k2;
        case 2400:
+               *ch_rate_type = GSM0808_DATA_FULL_BM;
                return GSM0808_DATA_RATE_TRANSP_2k4;
        case 4800:
+               *ch_rate_type = GSM0808_DATA_FULL_BM;
                return GSM0808_DATA_RATE_TRANSP_4k8;
        case 9600:
+               *ch_rate_type = GSM0808_DATA_FULL_BM;
                return GSM0808_DATA_RATE_TRANSP_9k6;
        }
        return -EINVAL;
@@ -375,9 +382,10 @@

        if (csd_bs_is_transp(list->bs[0])) {
                ct->data_transparent = true;
-               rc = csd_bs_to_gsm0808_data_rate_transp(list->bs[0]);
+               rc = csd_bs_to_gsm0808_data_rate_transp(list->bs[0], 
&ct->ch_rate_type);
        } else {
                rc = csd_bs_to_gsm0808_data_rate_non_transp(list->bs[0]);
+               ct->ch_rate_type = GSM0808_DATA_FULL_BM;
        }

        if (rc < 0)
@@ -404,8 +412,6 @@
                        ct->data_rate_allowed_is_set = true;
        }

-       ct->ch_rate_type = GSM0808_SPEECH_FULL_BM;
-
        return 0;
 }


--
To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/33591
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-msc
Gerrit-Branch: master
Gerrit-Change-Id: I7297cc481fbe36355b5231ca800cf566a1ee93c0
Gerrit-Change-Number: 33591
Gerrit-PatchSet: 1
Gerrit-Owner: osmith <[email protected]>
Gerrit-MessageType: newchange

Reply via email to