aboutsummaryrefslogtreecommitdiffstats
path: root/src/libcommon
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2017-08-01 18:35:49 +0200
committerNeels Hofmeyr <neels@hofmeyr.de>2017-08-27 03:52:47 +0200
commite4dd94d08056be15280f2466ba6a39db0ebc5ab3 (patch)
tree3b12d7fd64530e46dc1974a0f913bb8b70f61241 /src/libcommon
parent392c8076e4462ab9b1089bb8545b10c6e4c7337a (diff)
Fix gsm_pchan2chan_nr() to use RSL_CHAN_OSMO_PDCH
When converting from GSM_PCHAN_PDCH, we should generate a RSL channel number IE with the osmocom extension RSL_CHAN_OSMO_PDCH rather than claiming it is a regular TCH/F channel. This is important as this function is used by osmo-bts, too - and it decides which channel number IE is put in the GSMTAP header for both GSMTAP tracing as well as the GSMTAP based osmo-bts-virtual. In order to avoid any unintended effect on libbsc, we make sure to modify rsl_ipacc_pdch_activate() to always use GSM_PCHAN_TCH_F in related RSL message. Change-Id: Ie34219e64a6d89da4a79f2db8ec73d1909fb8280
Diffstat (limited to 'src/libcommon')
-rw-r--r--src/libcommon/gsm_data_shared.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/libcommon/gsm_data_shared.c b/src/libcommon/gsm_data_shared.c
index d792f3bc4..26962730a 100644
--- a/src/libcommon/gsm_data_shared.c
+++ b/src/libcommon/gsm_data_shared.c
@@ -644,11 +644,14 @@ uint8_t gsm_pchan2chan_nr(enum gsm_phys_chan_config pchan,
switch (pchan) {
case GSM_PCHAN_TCH_F:
- case GSM_PCHAN_PDCH:
case GSM_PCHAN_TCH_F_PDCH:
OSMO_ASSERT(lchan_nr == 0);
cbits = 0x01;
break;
+ case GSM_PCHAN_PDCH:
+ OSMO_ASSERT(lchan_nr == 0);
+ cbits = RSL_CHAN_OSMO_PDCH >> 3;
+ break;
case GSM_PCHAN_TCH_H:
OSMO_ASSERT(lchan_nr < 2);
cbits = 0x02;