pcu: Introduce test TC_t3172_*
Related: OS#3928
Change-Id: I3f4368c99b00453b471c3d741fecb8864ecdc628
diff --git a/library/RLCMAC_CSN1_Templates.ttcn b/library/RLCMAC_CSN1_Templates.ttcn
index 254983a..943717e 100644
--- a/library/RLCMAC_CSN1_Templates.ttcn
+++ b/library/RLCMAC_CSN1_Templates.ttcn
@@ -19,6 +19,28 @@
import from MobileL3_GMM_SM_Types all;
import from RLCMAC_CSN1_Types all;
+ /* 11.2.1 Packet Access Reject */
+ template PacketAccessRejectStruct tr_PacketAccessRejectStruct_TLLI(template GprsTlli tlli := ?,
+ template uint8_t wait_ind := *,
+ template BIT1 wait_ind_size := *) := {
+ id_type := '0'B,
+ id := {
+ tlli := tlli
+ },
+ wait_ind_presence := ?,
+ wait_ind := wait_ind,
+ wait_ind_size := wait_ind_size
+ }
+ template RlcmacDlCtrlMsg tr_RlcMacDlCtrl_PKT_ACC_REJ(template PacketAccessRejectStruct rej := ?) := {
+ msg_type := PACKET_ACCESS_REJECT,
+ u := {
+ access_reject := {
+ page_mode := ?,
+ reject_struct := rej
+ }
+ }
+ }
+
template (value) RlcmacUlCtrlMsg ts_RlcMacUlCtrl_PKT_CTRL_ACK(GprsTlli tlli,
CtrlAck ack := MS_RCVD_TWO_RLC_SAME_RTI_DIFF_RBSN) := {
msg_type := PACKET_CONTROL_ACK,
@@ -79,6 +101,18 @@
RlcOctetCount := 0
}
+ template (value) ChannelReqDescription ts_ChannelReqDescription(uint4_t peak_tput_class := 0,
+ uint2_t priority := 0,
+ RlcMode rlc_mode := RLC_MODE_ACKNOWLEDGED,
+ LlcPduType llc_pdu_type := LLC_PDU_IS_NOT_SACK_OR_ACK,
+ uint16_t RlcOctetCount := 0) := {
+ peak_tput_class := peak_tput_class,
+ priority := priority,
+ rlc_mode := rlc_mode,
+ llc_pdu_type := llc_pdu_type,
+ RlcOctetCount := RlcOctetCount
+ };
+
/* TS 44.060 sec 11.2.16 */
template (value) RlcmacUlCtrlMsg ts_RlcMacUlCtrl_PKT_RES_REQ(GprsTlli tlli,
template (omit) MSRadioAccessCapabilityV ms_rac,
diff --git a/library/RLCMAC_CSN1_Types.ttcn b/library/RLCMAC_CSN1_Types.ttcn
index d9a5662..2093f55 100644
--- a/library/RLCMAC_CSN1_Types.ttcn
+++ b/library/RLCMAC_CSN1_Types.ttcn
@@ -705,6 +705,7 @@
/* 11.2.0.1 */
type union RlcmacDlCtrlUnion {
+ PacketAccessReject access_reject,
PacketDlAssignment dl_assignment,
PacketMeasOrder meas_order,
PacketUlAssignment ul_assignment,
@@ -721,7 +722,8 @@
RlcmacDlCtrlMsgType msg_type,
RlcmacDlCtrlUnion u
} with {
- variant (u) "CROSSTAG(dl_assignment, msg_type = PACKET_DL_ASSIGNMENT;
+ variant (u) "CROSSTAG(access_reject, msg_type = PACKET_ACCESS_REJECT;
+ dl_assignment, msg_type = PACKET_DL_ASSIGNMENT;
meas_order, msg_type = PACKET_MEASUREMENT_ORDER;
ul_assignment, msg_type = PACKET_UL_ASSIGNMENT;
paging, msg_type = PACKET_PAGING_REQUEST;
@@ -739,6 +741,35 @@
external function dec_RlcmacDlCtrlMsg(in octetstring stream) return RlcmacDlCtrlMsg
with { extension "prototype(convert) decode(RAW)" };
+ /* 11.2.1 Packet Access Reject */
+ type record PacketAccessRejectIDSub {
+ BIT1 id_type,
+ PacketRequestReference req_ref optional,
+ GlobalTfi gtfi optional
+ } with { variant (req_ref) "PRESENCE(id_type = '0'B)"
+ variant (gtfi) "PRESENCE(id_type = '1'B)"
+ };
+ type union PacketAccessRejectID {
+ GprsTlli tlli,
+ PacketAccessRejectIDSub id_sub
+ } with { variant (tlli) "BYTEORDER(first)" };
+ type record PacketAccessRejectStruct {
+ BIT1 id_type,
+ PacketAccessRejectID id,
+ BIT1 wait_ind_presence,
+ uint8_t wait_ind optional,
+ BIT1 wait_ind_size optional
+ } with { variant (id) "CROSSTAG(tlli, id_type = '0'B; id_sub, id_type = '1'B)"
+ variant (wait_ind) "PRESENCE(wait_ind_presence = '1'B)"
+ variant (wait_ind_size) "PRESENCE(wait_ind_presence = '1'B)"
+ };
+ type record PacketAccessReject {
+ PageMode page_mode,
+ PacketAccessRejectStruct reject_struct
+ /* TODO: Additional Reject */
+ /* TODO: Rel5 additions */
+ } with { variant "" };
+
/* 11.2.6 Packet Downlink Ack/Nack */
type record ILevel {