summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Eversberg <jolly@eversberg.eu>2013-06-12 08:26:50 +0200
committerAndreas Eversberg <jolly@eversberg.eu>2013-07-29 12:44:43 +0200
commit769f0202f6d9c3e18c2a6c0b14641b16df87fd57 (patch)
tree69ed5201743bffb0824881c4f91c470d14e700ef
parent3881195ace5e786d099b35429842b99a1573c2dc (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--openbsc/src/libbsc/bsc_api.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/openbsc/src/libbsc/bsc_api.c b/openbsc/src/libbsc/bsc_api.c
index 991c44dfa..4964b5f6d 100644
--- a/openbsc/src/libbsc/bsc_api.c
+++ b/openbsc/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: