aboutsummaryrefslogtreecommitdiffstats
path: root/src/libbsc/bsc_api.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libbsc/bsc_api.c')
-rw-r--r--src/libbsc/bsc_api.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/libbsc/bsc_api.c b/src/libbsc/bsc_api.c
index 991c44dfa..4964b5f6d 100644
--- a/src/libbsc/bsc_api.c
+++ b/src/libbsc/bsc_api.c
@@ -224,7 +224,8 @@ static int handle_new_assignment(struct gsm_subscriber_connection *conn, int cha
/* copy new data to it */
new_lchan->tch_mode = chan_mode;
- new_lchan->rsl_cmode = RSL_CMOD_SPD_SPEECH;
+ new_lchan->rsl_cmode = (chan_mode == GSM48_CMODE_SIGN) ?
+ RSL_CMOD_SPD_SIGN : RSL_CMOD_SPD_SPEECH;
/* handle AMR correctly */
if (chan_mode == GSM48_CMODE_SPEECH_AMR)
@@ -357,8 +358,6 @@ static int chan_compat_with_mode(struct gsm_lchan *lchan, int chan_mode, int ful
{
switch (chan_mode) {
case GSM48_CMODE_SIGN:
- /* signalling is always possible */
- return 1;
case GSM48_CMODE_SPEECH_V1:
case GSM48_CMODE_SPEECH_AMR:
case GSM48_CMODE_DATA_3k6: