library: move IA/IAR RO templates to GSM_RestOctets.ttcn

Change-Id: I3d3ad6228c44fd06620e8e97f08b24346f876972
This commit is contained in:
Vadim Yanitskiy 2022-10-21 16:09:42 +07:00 committed by fixeria
parent a6d488d551
commit 382138e84c
2 changed files with 125 additions and 125 deletions

View File

@ -651,119 +651,6 @@ module GSM_RR_Types {
with { extension "prototype(convert) decode(RAW)" };
template PacketDlAssign tr_PacketDlAssign(template GprsTlli tlli) := {
tlli := tlli,
group1_present := ?,
group1 := *,
ta_index_present := ?,
ta_index := *,
tbf_starting_time_present := ?,
tbf_starting_time := *,
p0_present := ?,
p0 := *,
pr_mode := *
};
template IaRestOctets tr_IaRestOctets_DLAss(template PacketDlAssign dl_ass) := {
presence := '11'B, /* HH */
ll := omit, lh := omit, hl := omit,
hh := {
pa_disc := '0'B, /* Packet Assignment (0) */
pa := {
uldl := {
ass_disc := '1'B, /* Downlink Assignment (1) */
ass := { dl := dl_ass }
}
}
}
};
template PacketUlAssign tr_PacketUlDynAssign(template uint5_t tfi := ?,
template BIT1 polling := ?,
template uint3_t usf := ?,
template BIT1 usf_granularity := ?,
template ChCodingCommand cs := ?) := {
presence := '1'B, /* Dynamic Block Allocation */
dynamic := {
tfi_assignment := tfi,
polling := polling,
spare := '0'B, /* Dynamic Block Allocation (mandatory after Rel-4) */
usf := usf,
usf_granularity := usf_granularity,
p0_present := ?,
p0 := *,
pr_mode := *,
ch_coding_cmd := cs,
tlli_block_chan_coding := ?,
alpha_present := ?,
alpha := *,
gamma := ?,
/* TODO: add to parameters */
ta_index_present := ?,
ta_index := *,
tbf_starting_time_present := ?,
tbf_starting_time := *
},
single := omit
};
template PacketUlAssign tr_PacketUlSglAssign := {
presence := '0'B, /* Single Block Allocation */
dynamic := omit,
single := {
alpha_present := ?,
alpha := *,
gamma := ?,
padding := '01'B,
tbf_starting_time := ?
}
};
template IaRestOctets tr_IaRestOctets_ULAss(template PacketUlAssign ul_ass) := {
presence := '11'B, /* HH */
ll := omit, lh := omit, hl := omit,
hh := {
pa_disc := '0'B, /* Packet Assignment (0) */
pa := {
uldl := {
ass_disc := '0'B, /* Uplink Assignment (0) */
ass := { ul := ul_ass }
}
}
}
};
template EgprsUlAss tr_EgprsUlAssDynamic(template (present) BIT5 ext_ra := ?,
template EgprsUlAssignDyn dyn_ass := ?) := {
ext_ra := ext_ra,
ats_present := ?,
ats := *,
presence := '1'B,
dynamic := dyn_ass,
multiblock := omit
};
template EgprsUlAss tr_EgprsUlAssMultiblock(template (present) BIT5 ext_ra := ?,
template EgprsUlAssignMultiblock mb_ass := ?) := {
ext_ra := ext_ra,
ats_present := ?,
ats := *,
presence := '0'B,
dynamic := omit,
multiblock := mb_ass
};
template IaRestOctets tr_IaRestOctets_EGPRSULAss(template EgprsUlAss ul_ass) := {
presence := '01'B, /* LH */
ll := omit,
lh := {
presence := '00'B,
egprs_ul := ul_ass,
multiblock_dl_ass := omit
},
hl := omit,
hh := omit
};
template (value) GsmRrMessage ts_IMM_ASS(uint8_t ra, GsmFrameNumber fn, TimingAdvance ta,
ChannelDescription ch_desc, MobileAllocationLV ma) := {
header := ts_RrHeader(IMMEDIATE_ASSIGNMENT, 0),
@ -929,18 +816,6 @@ module GSM_RR_Types {
wait_ind := wi
};
template IARRestOctets tr_IARRestOctets(template ExtRAList ext_ra_list := ?,
template uint3_t rcc := ?) := {
ext_ra_list := ext_ra_list,
rel13_ind := ?,
rcc := rcc ifpresent
};
template ExtRAOpt tr_ExtRAOpt(template BIT5 ext_ra := ?) := {
presence := '1'B, // L/H
ext_ra := ext_ra
};
template (value) ChannelDescription ts_ChanDescH0(template (value) RslChannelNr chan_nr,
template (value) uint12_t arfcn,
template (value) uint3_t tsc := 7) := {

View File

@ -281,6 +281,131 @@ type record ExtRAOpt {
variant (ext_ra) "BYTEORDER(last)"
};
template PacketDlAssign tr_PacketDlAssign(template GprsTlli tlli) := {
tlli := tlli,
group1_present := ?,
group1 := *,
ta_index_present := ?,
ta_index := *,
tbf_starting_time_present := ?,
tbf_starting_time := *,
p0_present := ?,
p0 := *,
pr_mode := *
};
template IaRestOctets tr_IaRestOctets_DLAss(template PacketDlAssign dl_ass) := {
presence := '11'B, /* HH */
ll := omit, lh := omit, hl := omit,
hh := {
pa_disc := '0'B, /* Packet Assignment (0) */
pa := {
uldl := {
ass_disc := '1'B, /* Downlink Assignment (1) */
ass := { dl := dl_ass }
}
}
}
};
template PacketUlAssign tr_PacketUlDynAssign(template uint5_t tfi := ?,
template BIT1 polling := ?,
template uint3_t usf := ?,
template BIT1 usf_granularity := ?,
template ChCodingCommand cs := ?) := {
presence := '1'B, /* Dynamic Block Allocation */
dynamic := {
tfi_assignment := tfi,
polling := polling,
spare := '0'B, /* Dynamic Block Allocation (mandatory after Rel-4) */
usf := usf,
usf_granularity := usf_granularity,
p0_present := ?,
p0 := *,
pr_mode := *,
ch_coding_cmd := cs,
tlli_block_chan_coding := ?,
alpha_present := ?,
alpha := *,
gamma := ?,
/* TODO: add to parameters */
ta_index_present := ?,
ta_index := *,
tbf_starting_time_present := ?,
tbf_starting_time := *
},
single := omit
};
template PacketUlAssign tr_PacketUlSglAssign := {
presence := '0'B, /* Single Block Allocation */
dynamic := omit,
single := {
alpha_present := ?,
alpha := *,
gamma := ?,
padding := '01'B,
tbf_starting_time := ?
}
};
template IaRestOctets tr_IaRestOctets_ULAss(template PacketUlAssign ul_ass) := {
presence := '11'B, /* HH */
ll := omit, lh := omit, hl := omit,
hh := {
pa_disc := '0'B, /* Packet Assignment (0) */
pa := {
uldl := {
ass_disc := '0'B, /* Uplink Assignment (0) */
ass := { ul := ul_ass }
}
}
}
};
template EgprsUlAss tr_EgprsUlAssDynamic(template (present) BIT5 ext_ra := ?,
template EgprsUlAssignDyn dyn_ass := ?) := {
ext_ra := ext_ra,
ats_present := ?,
ats := *,
presence := '1'B,
dynamic := dyn_ass,
multiblock := omit
};
template EgprsUlAss tr_EgprsUlAssMultiblock(template (present) BIT5 ext_ra := ?,
template EgprsUlAssignMultiblock mb_ass := ?) := {
ext_ra := ext_ra,
ats_present := ?,
ats := *,
presence := '0'B,
dynamic := omit,
multiblock := mb_ass
};
template IaRestOctets tr_IaRestOctets_EGPRSULAss(template EgprsUlAss ul_ass) := {
presence := '01'B, /* LH */
ll := omit,
lh := {
presence := '00'B,
egprs_ul := ul_ass,
multiblock_dl_ass := omit
},
hl := omit,
hh := omit
};
template IARRestOctets tr_IARRestOctets(template ExtRAList ext_ra_list := ?,
template uint3_t rcc := ?) := {
ext_ra_list := ext_ra_list,
rel13_ind := ?,
rcc := rcc ifpresent
};
template ExtRAOpt tr_ExtRAOpt(template BIT5 ext_ra := ?) := {
presence := '1'B, // L/H
ext_ra := ext_ra
};
external function enc_IaRestOctets(in IaRestOctets ro) return octetstring
with { extension "prototype(convert) encode(RAW)" };