library/RLCMAC_CSN1_Types.ttcn: add UL Packet Resource Request
This change implements UL Packet Resource Request message as per 3GPP TS 44.060, section 11.2.16 (only mandatory fields), and a send template 'ts_RlcMacUlCtrl_PKT_RES_REQ' for it. Change-Id: I0d688beb4112d6db10ac89e2966b555e74887a6e
This commit is contained in:
parent
f7d9c0f22b
commit
c524849e2d
|
@ -353,11 +353,56 @@ module RLCMAC_CSN1_Types {
|
|||
variant (tlli) "BYTEORDER(first)"
|
||||
};
|
||||
|
||||
/* 12.30 MS Radio Access Capability 2 (feature bitmask)
|
||||
* (value part, see 3GPP TS 24.008, 10.5.5.12a) */
|
||||
type union MSRadioAccCap2 {
|
||||
/* TODO: see table 10.5.146/3GPP TS 24.008 */
|
||||
bitstring other
|
||||
};
|
||||
|
||||
/* Table 11.2.16.2 Access Type */
|
||||
type enumerated RlcAccessType {
|
||||
RLC_ACC_TYPE_TWO_PHASE ('00'B),
|
||||
RLC_ACC_TYPE_PAG_RESPONSE ('01'B),
|
||||
RLC_ACC_TYPE_CELL_UPDATE ('10'B),
|
||||
RLC_ACC_TYPE_MM ('11'B)
|
||||
} with { variant "FIELDLENGTH(2)" };
|
||||
|
||||
type union PacketResourceReqID {
|
||||
GlobalTfi gtfi,
|
||||
GprsTlli tlli
|
||||
} with { variant (tlli) "BYTEORDER(first)" };
|
||||
|
||||
/* 11.2.16 Packet Resource Request */
|
||||
type record PacketResourceReq {
|
||||
BIT1 acc_type_presence,
|
||||
RlcAccessType acc_type optional,
|
||||
BIT1 id_type,
|
||||
PacketResourceReqID id,
|
||||
BIT1 ms_rac2_presence,
|
||||
MSRadioAccCap2 ms_rac2 optional,
|
||||
ChannelReqDescription ch_req_desc,
|
||||
BIT1 change_mark_presence,
|
||||
BIT2 change_mark optional,
|
||||
BIT6 C_val,
|
||||
BIT1 sign_var_presence,
|
||||
BIT6 sign_var optional,
|
||||
ILevels I_levels
|
||||
/* TODO: additional contents for further Releases (starting from 1999) */
|
||||
} with {
|
||||
variant (acc_type) "PRESENCE(acc_type_presence = '1'B)"
|
||||
variant (id) "CROSSTAG(gtfi, id_type = '0'B; tlli, id_type = '1'B)"
|
||||
variant (ms_rac2) "PRESENCE(ms_rac2_presence = '1'B)"
|
||||
variant (change_mark) "PRESENCE(change_mark_presence = '1'B)"
|
||||
variant (sign_var) "PRESENCE(sign_var_presence = '1'B)"
|
||||
};
|
||||
|
||||
/* 11.2.0.2 */
|
||||
type union RlcmacUlCtrlUnion {
|
||||
PacketCtrlAck ctrl_ack,
|
||||
PacketDlAckNack dl_ack_nack,
|
||||
PacketUlDummy ul_dummy,
|
||||
PacketResourceReq resource_req,
|
||||
octetstring other
|
||||
} with { variant "" };
|
||||
|
||||
|
@ -368,6 +413,7 @@ module RLCMAC_CSN1_Types {
|
|||
variant (u) "CROSSTAG(ctrl_ack, msg_type = PACKET_CONTROL_ACK;
|
||||
dl_ack_nack, msg_type = PACKET_DL_ACK_NACK;
|
||||
ul_dummy, msg_type = PACKET_UL_DUMMY_CTRL;
|
||||
resource_req, msg_type = PACKET_RESOURCE_REQUEST;
|
||||
other, OTHERWISE
|
||||
)"
|
||||
};
|
||||
|
@ -563,6 +609,32 @@ module RLCMAC_CSN1_Types {
|
|||
}
|
||||
}
|
||||
|
||||
template (value) RlcmacUlCtrlMsg ts_RlcMacUlCtrl_PKT_RES_REQ(
|
||||
GprsTlli tlli, ChannelReqDescription ch_req_desc,
|
||||
RlcAccessType acc_type := RLC_ACC_TYPE_TWO_PHASE
|
||||
) := {
|
||||
msg_type := PACKET_RESOURCE_REQUEST,
|
||||
u := {
|
||||
resource_req := {
|
||||
acc_type_presence := '1'B,
|
||||
acc_type := acc_type,
|
||||
id_type := '1'B,
|
||||
id := { tlli := tlli },
|
||||
ms_rac2_presence := '0'B,
|
||||
ms_rac2 := omit,
|
||||
ch_req_desc := ch_req_desc,
|
||||
change_mark_presence := '0'B,
|
||||
change_mark := omit,
|
||||
C_val := '000000'B,
|
||||
sign_var_presence := '0'B,
|
||||
sign_var := omit,
|
||||
I_levels := {
|
||||
iNone, iNone, iNone, iNone,
|
||||
iNone, iNone, iNone, iNone
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
} with { encode "RAW"; variant "FIELDORDER(msb)" variant "BYTEORDER(last)" };
|
||||
|
|
Loading…
Reference in New Issue