summaryrefslogtreecommitdiffstats
path: root/src/gsm
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2019-05-27 16:51:23 +0200
committerHarald Welte <laforge@gnumonks.org>2019-05-27 17:20:38 +0200
commita8d7ebb6fb147292e862921ce09bbe6b6b30ee51 (patch)
treee62e58b6601598dbc801aa5a87fdee588f099213 /src/gsm
parent1d32b7fecd7802f19918c4617174140b0408dfb2 (diff)
rsl: Add osmocom-specific extensions to RSL channel numbers for CBCH
We don't really *need* it in libosmocore as such, but the lack of having all osmocom extensions listed here lead to using overlapping definitions: 0x18 was used for dynamic PDCH on the Abis side, but also for CBCH on the L1SAP side. Let's list them all here to increase visibility in case anyone wants to extend this further... Related: OS#4027 Change-Id: I93e557358cf1c1b622f77f906959df7ca6d5cb12
Diffstat (limited to 'src/gsm')
-rw-r--r--src/gsm/rsl.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/gsm/rsl.c b/src/gsm/rsl.c
index 17774799..0409734e 100644
--- a/src/gsm/rsl.c
+++ b/src/gsm/rsl.c
@@ -209,6 +209,12 @@ int rsl_dec_chan_nr(uint8_t chan_nr, uint8_t *type, uint8_t *subch, uint8_t *tim
} else if ((chan_nr & 0xf8) == RSL_CHAN_OSMO_PDCH) {
*type = RSL_CHAN_OSMO_PDCH;
*subch = 0;
+ } else if ((chan_nr & 0xf8) == RSL_CHAN_OSMO_CBCH4) {
+ *type = RSL_CHAN_OSMO_CBCH4;
+ *subch = 0;
+ } else if ((chan_nr & 0xf8) == RSL_CHAN_OSMO_CBCH8) {
+ *type = RSL_CHAN_OSMO_CBCH8;
+ *subch = 0;
} else
return -EINVAL;
@@ -242,6 +248,10 @@ char *rsl_chan_nr_str_buf(char *buf, size_t buf_len, uint8_t chan_nr)
snprintf(buf, buf_len, "PCH/AGCH on TS%d", ts);
else if (cbits == 0x18)
snprintf(buf, buf_len, "PDCH on TS%d", ts);
+ else if (cbits == 0x19)
+ snprintf(buf, buf_len, "CBCH(SDCCH/4) on TS%d", ts);
+ else if (cbits == 0x1a)
+ snprintf(buf, buf_len, "CBCH(SDCCH/8) on TS%d", ts);
else
snprintf(buf, buf_len, "UNKNOWN on TS%d", ts);