diff --git a/include/osmocom/gsm/gsm_utils.h b/include/osmocom/gsm/gsm_utils.h index 0fbfcba8a..1ffe5797a 100644 --- a/include/osmocom/gsm/gsm_utils.h +++ b/include/osmocom/gsm/gsm_utils.h @@ -196,6 +196,7 @@ enum gsm_phys_chan_config { GSM_PCHAN_UNKNOWN, GSM_PCHAN_CCCH_SDCCH4_CBCH, GSM_PCHAN_SDCCH8_SACCH8C_CBCH, + GSM_PCHAN_TCH_F_TCH_H_PDCH, _GSM_PCHAN_MAX }; diff --git a/include/osmocom/gsm/protocol/gsm_08_58.h b/include/osmocom/gsm/protocol/gsm_08_58.h index 18bee823b..03337e7ee 100644 --- a/include/osmocom/gsm/protocol/gsm_08_58.h +++ b/include/osmocom/gsm/protocol/gsm_08_58.h @@ -305,6 +305,7 @@ enum abis_rsl_ie { #define RSL_CHAN_BCCH 0x80 #define RSL_CHAN_RACH 0x88 #define RSL_CHAN_PCH_AGCH 0x90 +#define RSL_CHAN_OSMO_PDCH 0xc0 /*< non-standard, for dyn TS */ /* Chapter 9.3.3 */ #define RSL_ACT_TYPE_INITIAL 0x00 @@ -315,6 +316,7 @@ enum abis_rsl_ie { #define RSL_ACT_INTER_SYNC 0x03 #define RSL_ACT_SECOND_ADD 0x04 #define RSL_ACT_SECOND_MULTI 0x05 +#define RSL_ACT_OSMO_PDCH 0x0f /*< non-standard, for dyn TS */ /*! \brief RSL Channel Mode IF (Chapter 9.3.6) */ struct rsl_ie_chan_mode { diff --git a/include/osmocom/gsm/protocol/gsm_12_21.h b/include/osmocom/gsm/protocol/gsm_12_21.h index 4e8e72b97..3c3a2c914 100644 --- a/include/osmocom/gsm/protocol/gsm_12_21.h +++ b/include/osmocom/gsm/protocol/gsm_12_21.h @@ -539,6 +539,8 @@ enum abis_nm_chan_comb { NM_CHANC_IPAC_PDCH = 0x0d, /* PDTCH/F + PACCH/F + PTCCH/F */ NM_CHANC_IPAC_TCHFull_PDCH = 0x80, NM_CHANC_IPAC_TCHFull_TCHHalf = 0x81, + /* osmocom */ + NM_CHANC_OSMO_TCHFull_TCHHalf_PDCH = 0x90, }; /*! \brief Event Type (Section 9.4.16) */ diff --git a/src/gsm/abis_nm.c b/src/gsm/abis_nm.c index 6a1831c71..e607d30f2 100644 --- a/src/gsm/abis_nm.c +++ b/src/gsm/abis_nm.c @@ -438,6 +438,7 @@ static const enum abis_nm_chan_comb chcomb4pchan[] = { [GSM_PCHAN_UNKNOWN] = 0xff, [GSM_PCHAN_CCCH_SDCCH4_CBCH] = NM_CHANC_BCCH_CBCH, [GSM_PCHAN_SDCCH8_SACCH8C_CBCH] = NM_CHANC_SDCCH_CBCH, + [GSM_PCHAN_TCH_F_TCH_H_PDCH] = NM_CHANC_OSMO_TCHFull_TCHHalf_PDCH, /* FIXME: bounds check */ };