Store "Channel rate and type" from RSL Channel Mode IE in BTS
The RSL "Channel rate and type" field from the RSL Channel Mode IE in RSL_CHAN_ACTIV and RSL_MODE_MODIFY_REQ messages is the only place where the BSC differentiates between a normal TCH and the special TCH modes used in VGCS or VBS. Let's copy this field from the RSL message into the lchan state, so that BTS models can actually (in subsequent patches) reflect it when activating the L1. Change-Id: I6d531bf528bcb81f44d91336471a46ef790d7646 Related: OS#4851
This commit is contained in:
parent
34838ee4e9
commit
84d220abc1
|
@ -141,6 +141,8 @@ struct gsm_lchan {
|
|||
uint8_t nr;
|
||||
/* The logical channel type */
|
||||
enum gsm_chan_t type;
|
||||
/* RSL channel rate and type */
|
||||
enum rsl_cmod_crt rsl_chan_rt;
|
||||
/* RSL channel mode */
|
||||
enum rsl_cmod_spd rsl_cmode;
|
||||
/* If TCH, traffic channel mode */
|
||||
|
|
|
@ -113,6 +113,7 @@ static int rsl_handle_chan_mod_ie(struct gsm_lchan *lchan,
|
|||
|
||||
cm = (const struct rsl_ie_chan_mode *) TLVP_VAL(tp, RSL_IE_CHAN_MODE);
|
||||
lchan->rsl_cmode = cm->spd_ind;
|
||||
lchan->rsl_chan_rt = cm->chan_rt;
|
||||
lchan->ts->trx->bts->dtxd = (cm->dtx_dtu & RSL_CMOD_DTXd) ? true : false;
|
||||
|
||||
/* Octet 5: Channel rate and type */
|
||||
|
@ -120,6 +121,10 @@ static int rsl_handle_chan_mod_ie(struct gsm_lchan *lchan,
|
|||
case RSL_CMOD_CRT_SDCCH:
|
||||
case RSL_CMOD_CRT_TCH_Bm:
|
||||
case RSL_CMOD_CRT_TCH_Lm:
|
||||
case RSL_CMOD_CRT_TCH_GROUP_Bm:
|
||||
case RSL_CMOD_CRT_TCH_GROUP_Lm:
|
||||
case RSL_CMOD_CRT_TCH_BCAST_Bm:
|
||||
case RSL_CMOD_CRT_TCH_BCAST_Lm:
|
||||
break;
|
||||
case RSL_CMOD_CRT_OSMO_TCH_VAMOS_Bm:
|
||||
case RSL_CMOD_CRT_OSMO_TCH_VAMOS_Lm:
|
||||
|
|
Loading…
Reference in New Issue