RSL_Types: Add dissected RSL_IE_ActivationType and related templates
This is required for supporting normal and handover assignments. Change-Id: I116d589d0ec4aa6bffba4da6e3bfe1974dd04db2
This commit is contained in:
parent
b05fd2d294
commit
921f9e0732
|
@ -273,20 +273,44 @@ module RSL_Types {
|
|||
type record RSL_IE_ActivationType {
|
||||
boolean reactivation,
|
||||
uint4_t reserved,
|
||||
uint3_t a_bits
|
||||
}
|
||||
RSL_ActivationAbits a_bits
|
||||
};
|
||||
type enumerated RSL_ActivationAbits {
|
||||
ACT_REL_TO_IMM_ASSIGN ('000'B),
|
||||
ACT_REL_TO_NORM_ASSIGN ('001'B),
|
||||
ACT_REL_TO_ASYNC_HANDOVER ('010'B),
|
||||
ACT_REL_TO_SYNC_HANDOVER ('011'B),
|
||||
ACT_REL_TO_ADDL_ASSIGN ('100'B),
|
||||
ACT_REL_TO_MSLOT_CONFIG ('101'B),
|
||||
ACT_REL_TO_OSMO_PDCH ('111'B)
|
||||
} with { variant "FIELDLENGTH(3)" };
|
||||
|
||||
template RSL_IE_ActivationType t_RSL_IE_ActType := {
|
||||
const RSL_IE_ActivationType t_RSL_IE_ActType_IA := {
|
||||
reactivation := false,
|
||||
reserved := 0,
|
||||
a_bits := 0 /* related to immediate assignment */
|
||||
a_bits := ACT_REL_TO_IMM_ASSIGN
|
||||
}
|
||||
const RSL_IE_ActivationType t_RSL_IE_ActType_ASS := {
|
||||
reactivation := false,
|
||||
reserved := 0,
|
||||
a_bits := ACT_REL_TO_NORM_ASSIGN
|
||||
}
|
||||
const RSL_IE_ActivationType t_RSL_IE_ActType_HO_ASYNC := {
|
||||
reactivation := false,
|
||||
reserved := 0,
|
||||
a_bits := ACT_REL_TO_ASYNC_HANDOVER
|
||||
}
|
||||
const RSL_IE_ActivationType t_RSL_IE_ActType_HO_SYNC := {
|
||||
reactivation := false,
|
||||
reserved := 0,
|
||||
a_bits := ACT_REL_TO_SYNC_HANDOVER
|
||||
}
|
||||
|
||||
/* osmocom-style dynamic PDCH */
|
||||
template RSL_IE_ActivationType t_RSL_IE_ActType_PDCH := {
|
||||
const RSL_IE_ActivationType t_RSL_IE_ActType_PDCH := {
|
||||
reactivation := false,
|
||||
reserved := 1,
|
||||
a_bits := 7 /* related to immediate assignment */
|
||||
a_bits := ACT_REL_TO_OSMO_PDCH
|
||||
}
|
||||
|
||||
/* 9.3.6 */
|
||||
|
@ -1122,23 +1146,25 @@ template RSL_Message tr_RSL_MsgTypeDR(template RSL_MessageType msg_type) modifie
|
|||
|
||||
/* 8.4.1 BSC -> BTS */
|
||||
template (value) RSL_Message ts_RSL_CHAN_ACT(template (value) RslChannelNr chan_nr,
|
||||
template (value) RSL_IE_ChannelMode mode) := {
|
||||
template (value) RSL_IE_ChannelMode mode,
|
||||
template (value) RSL_IE_ActivationType at := t_RSL_IE_ActType_IA) := {
|
||||
msg_disc := ts_RSL_MsgDisc(RSL_MDISC_DCHAN, false),
|
||||
msg_type := RSL_MT_CHAN_ACTIV,
|
||||
ies :={
|
||||
t_RSL_IE(RSL_IE_CHAN_NR, RSL_IE_Body:{chan_nr := chan_nr}),
|
||||
t_RSL_IE(RSL_IE_ACT_TYPE, RSL_IE_Body:{act_type := t_RSL_IE_ActType}),
|
||||
t_RSL_IE(RSL_IE_ACT_TYPE, RSL_IE_Body:{act_type := at}),
|
||||
t_RSL_IE(RSL_IE_CHAN_MODE, RSL_IE_Body:{chan_mode := mode})
|
||||
/* lots of optional IEs */
|
||||
}
|
||||
}
|
||||
template RSL_Message tr_RSL_CHAN_ACT(template RslChannelNr chan_nr,
|
||||
template RSL_IE_ChannelMode mode) := {
|
||||
template RSL_IE_ChannelMode mode,
|
||||
template (value) RSL_IE_ActivationType at := t_RSL_IE_ActType_IA) := {
|
||||
msg_disc := tr_RSL_MsgDisc(RSL_MDISC_DCHAN, false),
|
||||
msg_type := RSL_MT_CHAN_ACTIV,
|
||||
ies :={
|
||||
tr_RSL_IE(RSL_IE_Body:{chan_nr := chan_nr}),
|
||||
tr_RSL_IE(RSL_IE_Body:{act_type := t_RSL_IE_ActType}),
|
||||
tr_RSL_IE(RSL_IE_Body:{act_type := at}),
|
||||
tr_RSL_IE(RSL_IE_Body:{chan_mode := mode}),
|
||||
/* lots of optional IEs */
|
||||
*
|
||||
|
|
Loading…
Reference in New Issue