library: fix Repeated Page Info IE in PacketPagingReq
Change-Id: I39e8e3991cc248602460b7f162a0b57c2925315f
Related: OS#4838
diff --git a/pcu/GPRS_Components.ttcn b/pcu/GPRS_Components.ttcn
index e6406b7..3778b2f 100644
--- a/pcu/GPRS_Components.ttcn
+++ b/pcu/GPRS_Components.ttcn
@@ -917,11 +917,25 @@
function f_pkt_paging_match_tmsi(in PacketPagingReq req, template GsmTmsi tmsi)
runs on MS_BTS_IFACE_CT {
- if (not match(req.repeated_pageinfo.cs.tmsi, tmsi)) {
- setverdict(fail, "Mobile Identity (TMSI/P-TMSI) mismatch: ",
- "expected: ", tmsi, "got: ", req.repeated_pageinfo.cs.tmsi);
+ if (not ispresent(req.repeated_pageinfo)) {
+ setverdict(fail, "Packet Paging Request without MIs?!?");
f_shutdown(__BFILE__, __LINE__);
}
+
+ for (var integer i := 0; i < lengthof(req.repeated_pageinfo); i := i + 1) {
+ var PageInfo info := req.repeated_pageinfo[i].item;
+ if (not ischosen(info.cs))
+ { continue; }
+
+ if (match(info.cs.tmsi, tmsi)) {
+ setverdict(pass);
+ return;
+ }
+ }
+
+ setverdict(fail, "Mobile Identity (TMSI/P-TMSI) ", tmsi,
+ " is not present in ", req.repeated_pageinfo);
+ f_shutdown(__BFILE__, __LINE__);
}
}