diff options
Diffstat (limited to 'library/GSM_RR_Types.ttcn')
-rw-r--r-- | library/GSM_RR_Types.ttcn | 31 |
1 files changed, 30 insertions, 1 deletions
diff --git a/library/GSM_RR_Types.ttcn b/library/GSM_RR_Types.ttcn index 0fa6ec6..4bd65d1 100644 --- a/library/GSM_RR_Types.ttcn +++ b/library/GSM_RR_Types.ttcn @@ -652,9 +652,38 @@ module GSM_RR_Types { type record ImmediateAssignmentReject { FeatureIndicator feature_ind, PageMode page_mode, - ReqRefWaitInd4 payload + ReqRefWaitInd4 payload, + IARRestOctets rest_octets } with { variant "" }; + /* 10.5.2.17 IAR (Immediate Assignment Reject) Rest Octets */ + type record IARRestOctets { + ExtRAList ext_ra_list, + BIT1 rel13_ind, // L/H + uint3_t rcc optional + /* Addition in Rel-15: PEO IMM Cell Group Details struct */ + } with { + variant (rel13_ind) "CSN.1 L/H" + variant (rcc) "PRESENCE(rel13_ind = '1'B)" + + /* The TITAN's RAW encoder generates an octet-aligned octetstring, + * so we should make sure that unused bits contain proper padding. */ + variant "PADDING(yes), PADDING_PATTERN('00101011'B)" + }; + + /* Optional extended RA: 0 | 1 < Extended RA 1 : bit (5) > */ + type record ExtRAOpt { + BIT1 presence, // L/H + BIT5 ext_ra optional + } with { + variant (presence) "CSN.1 L/H" + variant (ext_ra) "PRESENCE(presence = '1'B)" + /* See https://bugs.eclipse.org/bugs/show_bug.cgi?id=562488 */ + variant (ext_ra) "BYTEORDER(last)" + }; + + type record length(4) of ExtRAOpt ExtRAList; + /* 9.1.21 */ type record MeasurementReport { MeasurementResults meas_res |