GSM_RR_Types.ttcn: Support encoding of EGPRS Packet Uplink Assignment

Change-Id: Idf3bd12318480e8cdd26fce35e52d0a9e8c39608
This commit is contained in:
Pau Espin 2019-12-30 20:18:34 +01:00 committed by laforge
parent 86904080a3
commit 461ed61e4d
1 changed files with 123 additions and 1 deletions

View File

@ -552,7 +552,129 @@ module GSM_RR_Types {
type record IaRestOctLL {
BIT1 compressed_irat_ho_info_ind
} with { variant "" };
type octetstring EgprsUlAss; /* TODO */
type record of AccessTechnologiesRequest
AccessTechnologiesRequestRepetition
with { variant "EXTENSION_BIT(reverse)" };
type record AccessTechnologiesRequest
{
BIT4 accessTechnType,
BIT1 extensionBit
} with { variant "FIELDORDER(msb)" };
type enumerated EgprsChCodingCommand {
CH_CODING_MCS1 ('0000'B),
CH_CODING_MCS2 ('0001'B),
CH_CODING_MCS3 ('0010'B),
CH_CODING_MCS4 ('0011'B),
CH_CODING_MCS5 ('0100'B),
CH_CODING_MCS6 ('0101'B),
CH_CODING_MCS7 ('0110'B),
CH_CODING_MCS8 ('0111'B),
CH_CODING_MCS9 ('1000'B),
CH_CODING_MCS5_7 ('1001'B),
CH_CODING_MCS6_9 ('1010'B)
} with { variant "FIELDLENGTH(4)" };
/* TS 44.060 Table 12.5.2.1 */
type enumerated EgprsWindowSize {
EGPRS_WS_64 ('00000'B),
EGPRS_WS_96 ('00001'B),
EGPRS_WS_128 ('00010'B),
EGPRS_WS_160 ('00011'B),
EGPRS_WS_192 ('00100'B),
EGPRS_WS_224 ('00101'B),
EGPRS_WS_256 ('00110'B),
EGPRS_WS_288 ('00111'B),
EGPRS_WS_320 ('01000'B),
EGPRS_WS_352 ('01001'B),
EGPRS_WS_384 ('01010'B),
EGPRS_WS_416 ('01011'B),
EGPRS_WS_448 ('01100'B),
EGPRS_WS_480 ('01101'B),
EGPRS_WS_512 ('01110'B),
EGPRS_WS_544 ('01111'B),
EGPRS_WS_576 ('10000'B),
EGPRS_WS_608 ('10001'B),
EGPRS_WS_640 ('10010'B),
EGPRS_WS_672 ('10011'B),
EGPRS_WS_704 ('10100'B),
EGPRS_WS_736 ('10101'B),
EGPRS_WS_768 ('10110'B),
EGPRS_WS_800 ('10111'B),
EGPRS_WS_832 ('11000'B),
EGPRS_WS_864 ('11001'B),
EGPRS_WS_896 ('11010'B),
EGPRS_WS_928 ('11011'B),
EGPRS_WS_960 ('11100'B),
EGPRS_WS_992 ('11101'B),
EGPRS_WS_1024 ('11110'B)
} with { variant "FIELDLENGTH(5)" };
type record EgprsUlAssignDyn {
uint5_t tfi_assignment,
BIT1 polling,
BIT1 spare ('0'B),
uint3_t usf,
BIT1 usf_granularity,
BIT1 p0_present,
uint4_t p0 optional,
BIT1 pr_mode optional,
EgprsChCodingCommand egprs_ch_coding_cmd,
BIT1 tlli_block_chan_coding,
BIT1 bep_period2_present,
BIT4 bep_period2 optional,
BIT1 resegment,
EgprsWindowSize egprs_window_size,
BIT1 alpha_present,
uint4_t alpha optional,
uint5_t gamma,
BIT1 ta_index_present,
uint4_t ta_index optional,
BIT1 tbf_starting_time_present,
uint16_t tbf_starting_time optional
/* TODO: Additions for Rel-7 */
} with {
variant (p0) "PRESENCE(p0_present = '1'B)"
variant (pr_mode) "PRESENCE(p0_present = '1'B)"
variant (bep_period2) "PRESENCE(bep_period2_present = '1'B)"
variant (alpha) "PRESENCE(alpha_present = '1'B)"
variant (ta_index) "PRESENCE(ta_index_present = '1'B)"
variant (tbf_starting_time) "PRESENCE(tbf_starting_time_present = '1'B)"
};
type record EgprsUlAssignMultiblock {
BIT1 alpha_present,
uint4_t alpha optional,
uint5_t gamma,
uint16_t tbf_starting_time,
BIT2 nr_radio_blocks_allocated,
BIT1 p0_present,
uint4_t p0 optional,
BIT1 spare ('0'B) optional,
BIT1 pr_mode optional
/* TDO: Additions for Rel-6 */
} with {
variant (alpha) "PRESENCE(alpha_present = '1'B)"
variant (p0) "PRESENCE(p0_present = '1'B)"
variant (spare) "PRESENCE(p0_present = '1'B)"
variant (pr_mode) "PRESENCE(p0_present = '1'B)"
};
/* 3GPP TS 44.018 version 13.3.2 10.5.2.16, "EGPRS Packet Uplink Assignment" */
type record EgprsUlAss {
BIT5 ext_ra,
BIT1 ats_present,
AccessTechnologiesRequestRepetition ats optional,
BIT1 presence,
EgprsUlAssignDyn dynamic optional,
EgprsUlAssignMultiblock multiblock optional
} with {
variant (ats) "PRESENCE(ats_present = '1'B)"
variant (dynamic) "PRESENCE(presence = '1'B)"
variant (multiblock) "PRESENCE(presence = '0'B)"
};
type octetstring MblkDlAss; /* TODO */
type record IaRestOctLH {
BIT2 presence,