<p>pespin has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16689">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">GSM_RR_Types.ttcn: Support encoding of EGPRS Packet Uplink Assignment<br><br>Change-Id: Idf3bd12318480e8cdd26fce35e52d0a9e8c39608<br>---<br>M library/GSM_RR_Types.ttcn<br>1 file changed, 123 insertions(+), 1 deletion(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/89/16689/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/library/GSM_RR_Types.ttcn b/library/GSM_RR_Types.ttcn</span><br><span>index 4c2874a..66fc36c 100644</span><br><span>--- a/library/GSM_RR_Types.ttcn</span><br><span>+++ b/library/GSM_RR_Types.ttcn</span><br><span>@@ -552,7 +552,129 @@</span><br><span> type record IaRestOctLL {</span><br><span> BIT1 compressed_irat_ho_info_ind</span><br><span> } with { variant "" };</span><br><span style="color: hsl(0, 100%, 40%);">- type octetstring EgprsUlAss; /* TODO */</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ type record of AccessTechnologiesRequest</span><br><span style="color: hsl(120, 100%, 40%);">+ AccessTechnologiesRequestRepetition</span><br><span style="color: hsl(120, 100%, 40%);">+ with { variant "EXTENSION_BIT(reverse)" };</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ type record AccessTechnologiesRequest</span><br><span style="color: hsl(120, 100%, 40%);">+ {</span><br><span style="color: hsl(120, 100%, 40%);">+ BIT4 accessTechnType,</span><br><span style="color: hsl(120, 100%, 40%);">+ BIT1 extensionBit</span><br><span style="color: hsl(120, 100%, 40%);">+ } with { variant "FIELDORDER(msb)" };</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ type enumerated EgprsChCodingCommand {</span><br><span style="color: hsl(120, 100%, 40%);">+ CH_CODING_MCS1 ('0000'B),</span><br><span style="color: hsl(120, 100%, 40%);">+ CH_CODING_MCS2 ('0001'B),</span><br><span style="color: hsl(120, 100%, 40%);">+ CH_CODING_MCS3 ('0010'B),</span><br><span style="color: hsl(120, 100%, 40%);">+ CH_CODING_MCS4 ('0011'B),</span><br><span style="color: hsl(120, 100%, 40%);">+ CH_CODING_MCS5 ('0100'B),</span><br><span style="color: hsl(120, 100%, 40%);">+ CH_CODING_MCS6 ('0101'B),</span><br><span style="color: hsl(120, 100%, 40%);">+ CH_CODING_MCS7 ('0110'B),</span><br><span style="color: hsl(120, 100%, 40%);">+ CH_CODING_MCS8 ('0111'B),</span><br><span style="color: hsl(120, 100%, 40%);">+ CH_CODING_MCS9 ('1000'B),</span><br><span style="color: hsl(120, 100%, 40%);">+ CH_CODING_MCS5_7 ('1001'B),</span><br><span style="color: hsl(120, 100%, 40%);">+ CH_CODING_MCS6_9 ('1010'B)</span><br><span style="color: hsl(120, 100%, 40%);">+ } with { variant "FIELDLENGTH(4)" };</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ /* TS 44.060 Table 12.5.2.1 */</span><br><span style="color: hsl(120, 100%, 40%);">+ type enumerated EgprsWindowSize {</span><br><span style="color: hsl(120, 100%, 40%);">+ EGPRS_WS_64 ('00000'B),</span><br><span style="color: hsl(120, 100%, 40%);">+ EGPRS_WS_96 ('00001'B),</span><br><span style="color: hsl(120, 100%, 40%);">+ EGPRS_WS_128 ('00010'B),</span><br><span style="color: hsl(120, 100%, 40%);">+ EGPRS_WS_160 ('00011'B),</span><br><span style="color: hsl(120, 100%, 40%);">+ EGPRS_WS_192 ('00100'B),</span><br><span style="color: hsl(120, 100%, 40%);">+ EGPRS_WS_224 ('00101'B),</span><br><span style="color: hsl(120, 100%, 40%);">+ EGPRS_WS_256 ('00110'B),</span><br><span style="color: hsl(120, 100%, 40%);">+ EGPRS_WS_288 ('00111'B),</span><br><span style="color: hsl(120, 100%, 40%);">+ EGPRS_WS_320 ('01000'B),</span><br><span style="color: hsl(120, 100%, 40%);">+ EGPRS_WS_352 ('01001'B),</span><br><span style="color: hsl(120, 100%, 40%);">+ EGPRS_WS_384 ('01010'B),</span><br><span style="color: hsl(120, 100%, 40%);">+ EGPRS_WS_416 ('01011'B),</span><br><span style="color: hsl(120, 100%, 40%);">+ EGPRS_WS_448 ('01100'B),</span><br><span style="color: hsl(120, 100%, 40%);">+ EGPRS_WS_480 ('01101'B),</span><br><span style="color: hsl(120, 100%, 40%);">+ EGPRS_WS_512 ('01110'B),</span><br><span style="color: hsl(120, 100%, 40%);">+ EGPRS_WS_544 ('01111'B),</span><br><span style="color: hsl(120, 100%, 40%);">+ EGPRS_WS_576 ('10000'B),</span><br><span style="color: hsl(120, 100%, 40%);">+ EGPRS_WS_608 ('10001'B),</span><br><span style="color: hsl(120, 100%, 40%);">+ EGPRS_WS_640 ('10010'B),</span><br><span style="color: hsl(120, 100%, 40%);">+ EGPRS_WS_672 ('10011'B),</span><br><span style="color: hsl(120, 100%, 40%);">+ EGPRS_WS_704 ('10100'B),</span><br><span style="color: hsl(120, 100%, 40%);">+ EGPRS_WS_736 ('10101'B),</span><br><span style="color: hsl(120, 100%, 40%);">+ EGPRS_WS_768 ('10110'B),</span><br><span style="color: hsl(120, 100%, 40%);">+ EGPRS_WS_800 ('10111'B),</span><br><span style="color: hsl(120, 100%, 40%);">+ EGPRS_WS_832 ('11000'B),</span><br><span style="color: hsl(120, 100%, 40%);">+ EGPRS_WS_864 ('11001'B),</span><br><span style="color: hsl(120, 100%, 40%);">+ EGPRS_WS_896 ('11010'B),</span><br><span style="color: hsl(120, 100%, 40%);">+ EGPRS_WS_928 ('11011'B),</span><br><span style="color: hsl(120, 100%, 40%);">+ EGPRS_WS_960 ('11100'B),</span><br><span style="color: hsl(120, 100%, 40%);">+ EGPRS_WS_992 ('11101'B),</span><br><span style="color: hsl(120, 100%, 40%);">+ EGPRS_WS_1024 ('11110'B)</span><br><span style="color: hsl(120, 100%, 40%);">+ } with { variant "FIELDLENGTH(5)" };</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ type record EgprsUlAssignDyn {</span><br><span style="color: hsl(120, 100%, 40%);">+ uint5_t tfi_assignment,</span><br><span style="color: hsl(120, 100%, 40%);">+ BIT1 polling,</span><br><span style="color: hsl(120, 100%, 40%);">+ BIT1 spare ('0'B),</span><br><span style="color: hsl(120, 100%, 40%);">+ uint3_t usf,</span><br><span style="color: hsl(120, 100%, 40%);">+ BIT1 usf_granularity,</span><br><span style="color: hsl(120, 100%, 40%);">+ BIT1 p0_present,</span><br><span style="color: hsl(120, 100%, 40%);">+ uint4_t p0 optional,</span><br><span style="color: hsl(120, 100%, 40%);">+ BIT1 pr_mode optional,</span><br><span style="color: hsl(120, 100%, 40%);">+ EgprsChCodingCommand egprs_ch_coding_cmd,</span><br><span style="color: hsl(120, 100%, 40%);">+ BIT1 tlli_block_chan_coding,</span><br><span style="color: hsl(120, 100%, 40%);">+ BIT1 bep_period2_present,</span><br><span style="color: hsl(120, 100%, 40%);">+ BIT4 bep_period2 optional,</span><br><span style="color: hsl(120, 100%, 40%);">+ BIT1 resegment,</span><br><span style="color: hsl(120, 100%, 40%);">+ EgprsWindowSize egprs_window_size,</span><br><span style="color: hsl(120, 100%, 40%);">+ BIT1 alpha_present,</span><br><span style="color: hsl(120, 100%, 40%);">+ uint4_t alpha optional,</span><br><span style="color: hsl(120, 100%, 40%);">+ uint5_t gamma,</span><br><span style="color: hsl(120, 100%, 40%);">+ BIT1 ta_index_present,</span><br><span style="color: hsl(120, 100%, 40%);">+ uint4_t ta_index optional,</span><br><span style="color: hsl(120, 100%, 40%);">+ BIT1 tbf_starting_time_present,</span><br><span style="color: hsl(120, 100%, 40%);">+ uint16_t tbf_starting_time optional</span><br><span style="color: hsl(120, 100%, 40%);">+ /* TODO: Additions for Rel-7 */</span><br><span style="color: hsl(120, 100%, 40%);">+ } with {</span><br><span style="color: hsl(120, 100%, 40%);">+ variant (p0) "PRESENCE(p0_present = '1'B)"</span><br><span style="color: hsl(120, 100%, 40%);">+ variant (pr_mode) "PRESENCE(p0_present = '1'B)"</span><br><span style="color: hsl(120, 100%, 40%);">+ variant (bep_period2) "PRESENCE(bep_period2_present = '1'B)"</span><br><span style="color: hsl(120, 100%, 40%);">+ variant (alpha) "PRESENCE(alpha_present = '1'B)"</span><br><span style="color: hsl(120, 100%, 40%);">+ variant (ta_index) "PRESENCE(ta_index_present = '1'B)"</span><br><span style="color: hsl(120, 100%, 40%);">+ variant (tbf_starting_time) "PRESENCE(tbf_starting_time_present = '1'B)"</span><br><span style="color: hsl(120, 100%, 40%);">+ };</span><br><span style="color: hsl(120, 100%, 40%);">+ type record EgprsUlAssignMultiblock {</span><br><span style="color: hsl(120, 100%, 40%);">+ BIT1 alpha_present,</span><br><span style="color: hsl(120, 100%, 40%);">+ uint4_t alpha optional,</span><br><span style="color: hsl(120, 100%, 40%);">+ uint5_t gamma,</span><br><span style="color: hsl(120, 100%, 40%);">+ uint16_t tbf_starting_time,</span><br><span style="color: hsl(120, 100%, 40%);">+ BIT2 nr_radio_blocks_allocated,</span><br><span style="color: hsl(120, 100%, 40%);">+ BIT1 p0_present,</span><br><span style="color: hsl(120, 100%, 40%);">+ uint4_t p0 optional,</span><br><span style="color: hsl(120, 100%, 40%);">+ BIT1 spare ('0'B) optional,</span><br><span style="color: hsl(120, 100%, 40%);">+ BIT1 pr_mode optional</span><br><span style="color: hsl(120, 100%, 40%);">+ /* TDO: Additions for Rel-6 */</span><br><span style="color: hsl(120, 100%, 40%);">+ } with {</span><br><span style="color: hsl(120, 100%, 40%);">+ variant (alpha) "PRESENCE(alpha_present = '1'B)"</span><br><span style="color: hsl(120, 100%, 40%);">+ variant (p0) "PRESENCE(p0_present = '1'B)"</span><br><span style="color: hsl(120, 100%, 40%);">+ variant (spare) "PRESENCE(p0_present = '1'B)"</span><br><span style="color: hsl(120, 100%, 40%);">+ variant (pr_mode) "PRESENCE(p0_present = '1'B)"</span><br><span style="color: hsl(120, 100%, 40%);">+ };</span><br><span style="color: hsl(120, 100%, 40%);">+ /* 3GPP TS 44.018 version 13.3.2 10.5.2.16, "EGPRS Packet Uplink Assignment" */</span><br><span style="color: hsl(120, 100%, 40%);">+ type record EgprsUlAss {</span><br><span style="color: hsl(120, 100%, 40%);">+ BIT5 ext_ra,</span><br><span style="color: hsl(120, 100%, 40%);">+ BIT1 ats_present,</span><br><span style="color: hsl(120, 100%, 40%);">+ AccessTechnologiesRequestRepetition ats optional,</span><br><span style="color: hsl(120, 100%, 40%);">+ BIT1 presence,</span><br><span style="color: hsl(120, 100%, 40%);">+ EgprsUlAssignDyn dynamic optional,</span><br><span style="color: hsl(120, 100%, 40%);">+ EgprsUlAssignMultiblock multiblock optional</span><br><span style="color: hsl(120, 100%, 40%);">+ } with {</span><br><span style="color: hsl(120, 100%, 40%);">+ variant (ats) "PRESENCE(ats_present = '1'B)"</span><br><span style="color: hsl(120, 100%, 40%);">+ variant (dynamic) "PRESENCE(presence = '1'B)"</span><br><span style="color: hsl(120, 100%, 40%);">+ variant (multiblock) "PRESENCE(presence = '0'B)"</span><br><span style="color: hsl(120, 100%, 40%);">+ };</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> type octetstring MblkDlAss; /* TODO */</span><br><span> type record IaRestOctLH {</span><br><span> BIT2 presence,</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16689">change 16689</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16689"/><meta itemprop="name" content="View Change"/></div></div>
<div style="display:none"> Gerrit-Project: osmo-ttcn3-hacks </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: Idf3bd12318480e8cdd26fce35e52d0a9e8c39608 </div>
<div style="display:none"> Gerrit-Change-Number: 16689 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>