diff --git a/library/RLCMAC_CSN1_Types.ttcn b/library/RLCMAC_CSN1_Types.ttcn index 11df29d92..321049c05 100644 --- a/library/RLCMAC_CSN1_Types.ttcn +++ b/library/RLCMAC_CSN1_Types.ttcn @@ -230,6 +230,8 @@ module RLCMAC_CSN1_Types { type union PageInfo { PageInfoPs ps, PageInfoCs cs + } with { + variant "TAG(ps, presence = '0'B; cs, presence = '1'B)" }; type record PacketPagingReq { PageMode page_mode, diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn index d19093caf..cd13ff5f5 100644 --- a/pcu/PCU_Tests_RAW.ttcn +++ b/pcu/PCU_Tests_RAW.ttcn @@ -1299,10 +1299,8 @@ testcase TC_paging_cs_from_bts() runs on RAW_PCU_Test_CT { /* Receive it on BTS side towards MS */ f_rx_rlcmac_dl_block_exp_pkt_pag_req(dl_block); - /* FIXME: we must use .ps. here instead of .cs. (the one actually sent) - because TTCN3 counts length up to octet boundary and thinks it's a - PageInfoPs: */ - mi_res := dl_block.ctrl.payload.u.paging.repeated_pageinfo.ps.mobile_identity; + + mi_res := dl_block.ctrl.payload.u.paging.repeated_pageinfo.cs.mobile_identity; if (oct2int(substr(mi_enc_lv, 0, 1)) != mi_res.len) { /* TODO: Verify MI contents encoded match */ setverdict(fail, "Mobile Identity not matching (imsi=", imsi, ")"); @@ -1351,10 +1349,8 @@ private function f_tc_paging_cs_from_sgsn(Nsvci bvci) runs on RAW_PCU_Test_CT { /* Receive it on BTS side towards MS */ f_rx_rlcmac_dl_block_exp_pkt_pag_req(dl_block); - /* FIXME: we must use .ps. here instead of .cs. (the one actually sent) - because TTCN3 counts length up to octet boundary and thinks it's a - PageInfoPs: */ - mi_res := dl_block.ctrl.payload.u.paging.repeated_pageinfo.ps.mobile_identity; + /* FIXME: actually match the identity */ + mi_res := dl_block.ctrl.payload.u.paging.repeated_pageinfo.cs.mobile_identity; setverdict(pass); }