aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorVadim Yanitskiy <vyanitskiy@sysmocom.de>2023-08-01 00:47:00 +0700
committerfixeria <vyanitskiy@sysmocom.de>2023-08-07 14:50:10 +0000
commit66eae187b98f846be282855af354d360328e0f3e (patch)
tree5495ab8a6165f0468539d65fc3c4605694e7eb13 /src
parent8ae829cabcf91f15851572b87d397a9c620f240c (diff)
rsl: rsl_handle_chan_mod_ie(): set lchan->csd_mode
Change-Id: I6b1b44cffae1484098709efe496efafacbd354a8 Related: ca418643 "csd_v110_rtp_encode(): properly set E1/E2/E3 bits" Related: OS#1572
Diffstat (limited to 'src')
-rw-r--r--src/common/rsl.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/common/rsl.c b/src/common/rsl.c
index d47ba99d..9c0bce04 100644
--- a/src/common/rsl.c
+++ b/src/common/rsl.c
@@ -242,29 +242,47 @@ static int rsl_handle_chan_mod_ie(struct gsm_lchan *lchan,
case RSL_CMODE(RSL_CMOD_SPD_DATA, RSL_CMOD_CSD_T_32000):
/* 32.0 kbit/s services, 32.0 kbit/s radio interface rate */
lchan->tch_mode = GSM48_CMODE_DATA_32k0;
+ lchan->csd_mode = LCHAN_CSD_M_T_32000;
break;
case RSL_CMODE(RSL_CMOD_SPD_DATA, RSL_CMOD_CSD_T_29000):
/* 29.0 kbit/s services, 29.0 kbit/s radio interface rate */
lchan->tch_mode = GSM48_CMODE_DATA_29k0;
+ lchan->csd_mode = LCHAN_CSD_M_T_29000;
break;
case RSL_CMODE(RSL_CMOD_SPD_DATA, RSL_CMOD_CSD_T_14400):
/* 14.4 kbit/s services, 14.5 kbit/s radio interface rate */
lchan->tch_mode = GSM48_CMODE_DATA_14k5;
+ lchan->csd_mode = LCHAN_CSD_M_T_14400;
break;
case RSL_CMODE(RSL_CMOD_SPD_DATA, RSL_CMOD_CSD_T_9600):
/* 9.6 kbit/s services, 12.0 kbit/s radio interface rate */
lchan->tch_mode = GSM48_CMODE_DATA_12k0;
+ lchan->csd_mode = LCHAN_CSD_M_T_9600;
break;
case RSL_CMODE(RSL_CMOD_SPD_DATA, RSL_CMOD_CSD_T_4800):
/* 4.8 kbit/s services, 6.0 kbit/s radio interface rate */
lchan->tch_mode = GSM48_CMODE_DATA_6k0;
+ lchan->csd_mode = LCHAN_CSD_M_T_4800;
break;
case RSL_CMODE(RSL_CMOD_SPD_DATA, RSL_CMOD_CSD_T_2400):
+ /* 2.4 kbit/s *and less* services, 3.6 kbit/s radio interface rate */
+ lchan->tch_mode = GSM48_CMODE_DATA_3k6;
+ lchan->csd_mode = LCHAN_CSD_M_T_2400;
+ break;
case RSL_CMODE(RSL_CMOD_SPD_DATA, RSL_CMOD_CSD_T_1200):
+ /* 2.4 kbit/s *and less* services, 3.6 kbit/s radio interface rate */
+ lchan->tch_mode = GSM48_CMODE_DATA_3k6;
+ lchan->csd_mode = LCHAN_CSD_M_T_1200;
+ break;
case RSL_CMODE(RSL_CMOD_SPD_DATA, RSL_CMOD_CSD_T_600):
+ /* 2.4 kbit/s *and less* services, 3.6 kbit/s radio interface rate */
+ lchan->tch_mode = GSM48_CMODE_DATA_3k6;
+ lchan->csd_mode = LCHAN_CSD_M_T_600;
+ break;
case RSL_CMODE(RSL_CMOD_SPD_DATA, RSL_CMOD_CSD_T_1200_75):
/* 2.4 kbit/s *and less* services, 3.6 kbit/s radio interface rate */
lchan->tch_mode = GSM48_CMODE_DATA_3k6;
+ lchan->csd_mode = LCHAN_CSD_M_T_1200_75;
break;
default: