Merge duplicate SI3 in GSM_RR_Types and GSM_SystemInformation
Let's have one SI3 definition rather than multiple...
Change-Id: I3c4754c9a69cb2fa51d88ef6358d5399dbb29860
diff --git a/library/GSM_RR_Types.ttcn b/library/GSM_RR_Types.ttcn
index a8b6db2..75be6f8 100644
--- a/library/GSM_RR_Types.ttcn
+++ b/library/GSM_RR_Types.ttcn
@@ -366,68 +366,6 @@
uint3_t non_drx_timer
} with { variant "" };
- /* 44.018 10.5.2.3 */
- type enumerated CellOptions_DTX {
- MS_MAY_USE_UL_DTX ('00'B),
- MS_SHALL_USE_UL_DTX ('01'B),
- MS_SHALL_NOT_USE_UL_DTX ('10'B)
- } with { variant "FIELDLENGTH(2)" };
- type record CellOptions {
- boolean dn_ind,
- boolean pwrc,
- CellOptions_DTX dtx,
- uint4_t radio_link_tout_div4
- } with { variant "" };
-
- /* 44.018 10.5.2.4 */
- type record CellSelectionPars {
- uint3_t cell_resel_hyst_2dB,
- uint5_t ms_txpwr_max_cch,
- BIT1 acs,
- boolean neci,
- uint6_t rxlev_access_min
- } with { variant "" };
-
- /* 44.018 10.5.2.29 */
- type enumerated RachCtrlPar_MR {
- RACH_MAX_RETRANS_1 ('00'B),
- RACH_MAX_RETRANS_2 ('01'B),
- RACH_MAX_RETRANS_4 ('10'B),
- RACH_MAX_RETRANS_7 ('11'B)
- } with { variant "FIELDLENGTH(2)" };
- type record RachControlPars {
- RachCtrlPar_MR max_retrans,
- BIT4 tx_integer,
- boolean cell_bar_access,
- boolean re_not_allowed,
- BIT16 acc
- } with { variant "" };
-
- /* 44.018 10.5.2.11 */
- type enumerated CtrlChanDesc_CC {
- CCHAN_DESC_1CCCH_NOT_COMBINED ('000'B),
- CCHAN_DESC_1CCCH_COMBINED ('001'B),
- CCHAN_DESC_2CCCH_NOT_COMBINED ('010'B),
- CCHAN_DESC_3CCCH_NOT_COMBINED ('100'B),
- CCHAN_DESC_4CCCH_NOT_COMBINED ('110'B)
- } with { variant "FIELDLENGTH(3)" };
- type enumerated CBQ3 {
- CBQ3_IU_MODE_NOT_SUPPORTED ('00'B),
- CBQ3_IU_MODE_MS_BARRED ('01'B),
- CBQ3_IU_MODE_NOT_BARRED ('10'B)
- } with { variant "FIELDLENGTH(2)" };
- type record CtrlChanDesc {
- boolean msc_r99,
- boolean att,
- uint3_t bs_ag_blks_res,
- CtrlChanDesc_CC ccch_conf,
- boolean si22_ind,
- CBQ3 cbq3,
- BIT2 spare,
- uint3_t bs_pa_mfrms, /* off by 2 */
- uint8_t t3212
- } with { variant "" };
-
/* 24.008 10.5.5.15 */
type record RoutingAreaIdentification {
LocationAreaIdentification lai,
@@ -639,30 +577,19 @@
RestOctets rest_octets
} with { variant "" };
- /* 9.1.35 */
- type record SystemInformationType3 {
- CellIdentity cell_id,
- LocationAreaIdentification lai,
- CtrlChanDesc ctrl_chan_desc,
- CellOptions cell_opts,
- CellSelectionPars cell_sel_pars,
- RachControlPars rach_ctrl_pars,
- RestOctets rest_octets
- } with { variant (rest_octets) "FIELDLENGTH(4)" };
-
type union RrUnion {
/*
SystemInformationType1 si1,
SystemInformationType2 si2,
SystemInformationType2bis si2bis,
SystemInformationType2ter si2ter,
+ SystemInformationType3 si3,
SystemInformationType4 si4,
SystemInformationType5 si5,
SystemInformationType5bis si5bis,
SystemInformationType5ter si5ter,
SystemInformationType6 si6,
*/
- SystemInformationType3 si3,
ImmediateAssignment imm_ass,
ImmediateAssignmentReject imm_ass_rej,
PagingRequestType1 pag_req_1,
diff --git a/library/GSM_SystemInformation.ttcn b/library/GSM_SystemInformation.ttcn
index b53d5f2..1d06aa1 100644
--- a/library/GSM_SystemInformation.ttcn
+++ b/library/GSM_SystemInformation.ttcn
@@ -22,11 +22,16 @@
type octetstring CellChannelDescription with { variant "FIELDLENGTH(16)" };
/* 44.018 10.5.2.3 */
+ type enumerated CellOptions_DTX {
+ MS_MAY_USE_UL_DTX ('00'B),
+ MS_SHALL_USE_UL_DTX ('01'B),
+ MS_SHALL_NOT_USE_UL_DTX ('10'B)
+ } with { variant "FIELDLENGTH(2)" };
type record CellOptions {
boolean dn_ind,
boolean pwrc,
- BIT2 dtx,
- BIT4 radio_link_timeout
+ CellOptions_DTX dtx,
+ uint4_t radio_link_tout_div4
} with { variant "" };
/* 44.018 10.5.2.3a */
@@ -39,23 +44,35 @@
/* 44.018 10.5.2.4 */
type record CellSelectionParameters {
- uint3_t cell_resel_hyst,
+ uint3_t cell_resel_hyst_2dB,
uint5_t ms_txpwr_max_cch,
- boolean acs,
+ BIT1 acs,
boolean neci,
uint6_t rxlev_access_min
} with { variant "" };
/* 44.018 10.5.2.11 */
+ type enumerated CtrlChanDesc_CC {
+ CCHAN_DESC_1CCCH_NOT_COMBINED ('000'B),
+ CCHAN_DESC_1CCCH_COMBINED ('001'B),
+ CCHAN_DESC_2CCCH_NOT_COMBINED ('010'B),
+ CCHAN_DESC_3CCCH_NOT_COMBINED ('100'B),
+ CCHAN_DESC_4CCCH_NOT_COMBINED ('110'B)
+ } with { variant "FIELDLENGTH(3)" };
+ type enumerated CBQ3 {
+ CBQ3_IU_MODE_NOT_SUPPORTED ('00'B),
+ CBQ3_IU_MODE_MS_BARRED ('01'B),
+ CBQ3_IU_MODE_NOT_BARRED ('10'B)
+ } with { variant "FIELDLENGTH(2)" };
type record ControlChannelDescription {
- boolean mscrr,
+ boolean msc_r99,
boolean att,
uint3_t bs_ag_blks_res,
- uint3_t ccch_conf,
+ CtrlChanDesc_CC ccch_conf,
boolean si22ind,
- uint2_t cbq3,
+ CBQ3 cbq3,
BIT2 spare,
- uint3_t bs_pa_mfrms,
+ uint3_t bs_pa_mfrms, /* off by 2 */
uint8_t t3212
} with { variant "" };
@@ -77,13 +94,19 @@
type bitstring AccessControlClass with { variant "FIELDLENGTH(16), BYTEORDER(last)" };
/* 44.018 10.5.2.29 */
+ type enumerated RachCtrlPar_MR {
+ RACH_MAX_RETRANS_1 ('00'B),
+ RACH_MAX_RETRANS_2 ('01'B),
+ RACH_MAX_RETRANS_4 ('10'B),
+ RACH_MAX_RETRANS_7 ('11'B)
+ } with { variant "FIELDLENGTH(2)" };
type record RachControlParameters {
- BIT2 max_retrans,
+ RachCtrlPar_MR max_retrans,
BIT4 tx_integer,
boolean cell_barr_access,
- boolean re,
- AccessControlClass ac
- } with { variant (ac) "FIELDLENGTH(16)" };
+ boolean re_not_allowed,
+ AccessControlClass acc
+ } with { variant (acc) "FIELDLENGTH(16)" };
/* 44.018 10.5.2.32 */
type RestOctets Si1RestOctets with { variant "FIELDLENGTH(1)" };