aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/libbsc/abis_rsl.c
diff options
context:
space:
mode:
authorNeels Hofmeyr <neels@hofmeyr.de>2016-07-23 19:51:09 +0200
committerNeels Hofmeyr <neels@hofmeyr.de>2016-07-28 11:56:51 +0200
commit7af652c0b27d79322043a23f4aa081c919546a73 (patch)
tree5e26df7788c7cc2b28b50cb54e82de746db0b254 /openbsc/src/libbsc/abis_rsl.c
parentfdd9ad7c40c8ddb49acfbf6689fcc238285ead3c (diff)
dyn TS: chan act: set chan_nr according to dyn pchan type
Diffstat (limited to 'openbsc/src/libbsc/abis_rsl.c')
-rw-r--r--openbsc/src/libbsc/abis_rsl.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/openbsc/src/libbsc/abis_rsl.c b/openbsc/src/libbsc/abis_rsl.c
index 868375fa2..e260ce94a 100644
--- a/openbsc/src/libbsc/abis_rsl.c
+++ b/openbsc/src/libbsc/abis_rsl.c
@@ -442,7 +442,6 @@ int rsl_chan_activate_lchan(struct gsm_lchan *lchan, uint8_t act_type,
uint8_t *len;
uint8_t ta;
- uint8_t chan_nr = gsm_lchan2chan_nr(lchan);
struct rsl_ie_chan_mode cm;
struct gsm48_chan_desc cd;
@@ -477,7 +476,12 @@ int rsl_chan_activate_lchan(struct gsm_lchan *lchan, uint8_t act_type,
msg = rsl_msgb_alloc();
dh = (struct abis_rsl_dchan_hdr *) msgb_put(msg, sizeof(*dh));
init_dchan_hdr(dh, RSL_MT_CHAN_ACTIV);
- dh->chan_nr = chan_nr;
+
+ if (lchan->ts->pchan == GSM_PCHAN_TCH_F_TCH_H_PDCH)
+ dh->chan_nr = gsm_lchan_as_pchan2chan_nr(
+ lchan, lchan->ts->dyn.pchan_want);
+ else
+ dh->chan_nr = gsm_lchan2chan_nr(lchan);
msgb_tv_put(msg, RSL_IE_ACT_TYPE, act_type);
msgb_tlv_put(msg, RSL_IE_CHAN_MODE, sizeof(cm),