diff options
author | Harald Welte <laforge@gnumonks.org> | 2017-08-01 18:35:49 +0200 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2017-08-14 12:31:54 +0200 |
commit | 2a55e0917d230505152b3da636a1da9a36d7fbe4 (patch) | |
tree | 48e0f8fc69fddd519825e624c0fbd784bc5c3be2 /openbsc/src/libcommon | |
parent | 91dd2a62bee77b56a953e0edc55c5441aa3b5d84 (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 'openbsc/src/libcommon')
-rw-r--r-- | openbsc/src/libcommon/gsm_data_shared.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/openbsc/src/libcommon/gsm_data_shared.c b/openbsc/src/libcommon/gsm_data_shared.c index d792f3bc4..26962730a 100644 --- a/openbsc/src/libcommon/gsm_data_shared.c +++ b/openbsc/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; |