aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Eversberg <jolly@eversberg.eu>2013-06-12 08:26:50 +0200
committerNeels Hofmeyr <neels@hofmeyr.de>2018-01-12 03:28:14 +0100
commit1e606a99db1df3a1099b1a9acce2307ce9de4bd7 (patch)
treeb485282277cac85e5de3cf017b182e7b6476c044
parent13e923c754c66127e0a11b3d18bac93129021654 (diff)
Allow assignment to TCH channel with signalling only mode
This makes sense, if silent call is used. Assignment allows to change from SDCCH (or whatever was available) to given TCH rate.
-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 dfe4f94f8..bb5271dc6 100644
--- a/src/libbsc/bsc_api.c
+++ b/src/libbsc/bsc_api.c
@@ -236,7 +236,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)
@@ -364,8 +365,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: