This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
fixeria gerrit-no-reply at lists.osmocom.orgfixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16695 ) Change subject: PCU: fix: actually match IMSI in Packet Paging Request ...................................................................... PCU: fix: actually match IMSI in Packet Paging Request Makes the test cases fail because typeOfIdentity != '001'B. Change-Id: I0afdd53fd5d2a89e139f65a7aec412a2e12511cc --- M library/RLCMAC_CSN1_Types.ttcn M pcu/PCU_Tests_RAW.ttcn 2 files changed, 31 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/95/16695/1 diff --git a/library/RLCMAC_CSN1_Types.ttcn b/library/RLCMAC_CSN1_Types.ttcn index 321049c..7cb6581 100644 --- a/library/RLCMAC_CSN1_Types.ttcn +++ b/library/RLCMAC_CSN1_Types.ttcn @@ -17,6 +17,7 @@ import from Osmocom_Types all; import from GSM_Types all; import from MobileL3_GMM_SM_Types all; + import from MobileL3_CommonIE_Types all; /* TS 44.060 11.2.0.1 */ type enumerated RlcmacDlCtrlMsgType { @@ -203,7 +204,7 @@ * use only 4 bit to encode the length of a mobile identity, whereas the IE * uses a byte. */ uint4_t len, - octetstring mobile_id + MobileIdentityV mobile_id } with { variant (len) "LENGTHTO(mobile_id)" }; type record PageInfoPs { BIT1 presence ('0'B), diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn index cd13ff5..e4e26cc 100644 --- a/pcu/PCU_Tests_RAW.ttcn +++ b/pcu/PCU_Tests_RAW.ttcn @@ -1247,6 +1247,29 @@ f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(dl_block.data.mac_hdr.hdr_ext.tfi, ack_nack_desc), 0, sched_fn); } +private function f_pkt_paging_match_imsi(in PacketPagingReq req, hexstring imsi) { + var MobileIdentityLV_Paging mi := req.repeated_pageinfo.cs.mobile_identity; + var integer mi_len := lengthof(imsi); + + /* Convert number of digits to the number of octets */ + mi_len := mi_len / 2 + (mi_len rem 2); + + if (mi.len != mi_len) { + setverdict(fail, "Mobile Identity length mismatch: ", + mi.len, " vs ", mi_len); + mtc.stop; + } else if (mi.mobile_id.typeOfIdentity != '001'B) { + setverdict(fail, "Mobile Identity must be of type IMSI ('001'B), ", + "got: ", mi.mobile_id.typeOfIdentity); + mtc.stop; + } else if (mi.mobile_id.oddEvenInd_identity.imsi.digits != imsi) { + setverdict(fail, "Mobile Identity contains unexpected IMSI, ", + "expected ", imsi, " got: ", + mi.mobile_id.oddEvenInd_identity.imsi.digits); + mtc.stop; + } +} + /* Test CS paging over the BTS<->PCU socket. * When a (class B or C, not A) MS has an active TBF (or is on the PDCH), the MS can not react on CS paging over CCCH. * Paging should be send on the PACCH. @@ -1263,7 +1286,6 @@ var OCT4 tlli := '00000001'O; var MobileL3_CommonIE_Types.MobileIdentityLV mi; var octetstring mi_enc_lv; - var MobileIdentityLV_Paging mi_res; var hexstring imsi := f_gen_imsi(42); /* Initialize NS/BSSGP side */ @@ -1300,12 +1322,9 @@ /* Receive it on BTS side towards MS */ f_rx_rlcmac_dl_block_exp_pkt_pag_req(dl_block); - 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, ")"); - mtc.stop; - } + /* Make sure that Packet Paging Request contains the same IMSI */ + f_pkt_paging_match_imsi(dl_block.ctrl.payload.u.paging, imsi); + setverdict(pass); } @@ -1317,7 +1336,6 @@ var RlcmacDlBlock dl_block; var boolean ok; var OCT4 tlli := '00000001'O; - var MobileIdentityLV_Paging mi_res; var hexstring imsi := f_gen_imsi(42); /* Initialize NS/BSSGP side */ @@ -1349,8 +1367,9 @@ /* Receive it on BTS side towards MS */ f_rx_rlcmac_dl_block_exp_pkt_pag_req(dl_block); - /* FIXME: actually match the identity */ - mi_res := dl_block.ctrl.payload.u.paging.repeated_pageinfo.cs.mobile_identity; + /* Make sure that Packet Paging Request contains the same IMSI */ + f_pkt_paging_match_imsi(dl_block.ctrl.payload.u.paging, imsi); + setverdict(pass); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16695 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0afdd53fd5d2a89e139f65a7aec412a2e12511cc Gerrit-Change-Number: 16695 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria <axilirator at gmail.com> Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20200101/539a2e26/attachment.htm>