pcu: Introduce tests for CS and PS paging from SGSN/Gb

CS Gb paging and PTP CS/PS paging implemented in osmo-pcu:
I9501e02e1d7f6944497e724dbccb9a19c3f5221f
I5c52b5af740460c48bb3ba858243b1d20e624268

Related: OS#3927, OS#2406
Change-Id: I90b5a792c1d91e38ea7b8c060ff0b459673df951
diff --git a/library/GSM_RR_Types.ttcn b/library/GSM_RR_Types.ttcn
index 965708f..f5eeda5 100644
--- a/library/GSM_RR_Types.ttcn
+++ b/library/GSM_RR_Types.ttcn
@@ -911,6 +911,22 @@
 		}
 	};
 
+	template GsmRrMessage tr_PAG_REQ1(template MobileIdentityLV mi1 := ?) := {
+		header := t_RrHeader(PAGING_REQUEST_TYPE_1, ?),
+		payload := {
+			pag_req_1 := {
+				chan_needed := {
+					second := ?,
+					first := ?
+				},
+				page_mode := PAGE_MODE_NORMAL,
+				mi1 := mi1,
+				mi2 := omit,
+				rest_octets := ?
+			}
+		}
+	};
+
 	template (value) GsmRrL3Message ts_MEAS_REP(boolean valid, uint6_t rxl_f, uint6_t rxl_s,
 						  uint3_t rxq_f, uint3_t rxq_s,
 						  template (omit) NcellReports reps) := {
diff --git a/library/Osmocom_Gb_Types.ttcn b/library/Osmocom_Gb_Types.ttcn
index 55a2816..3149e77 100644
--- a/library/Osmocom_Gb_Types.ttcn
+++ b/library/Osmocom_Gb_Types.ttcn
@@ -1121,6 +1121,18 @@
 		delay_Value := f_oct_or_wc(delay, 2)
 	}
 
+	template DRX_Parameters t_defaultDRXparam := {
+		iEI := '0A'O,
+		ext := '1'B,
+		lengthIndicator := {
+			length1 := 2
+		},
+		splitPG_CycleCode := '00'O,
+		nonDRXTimer := '000'B,
+		splitOnCCCH := '0'B,
+		cnSpecificDRXCycleLength := '0000'B
+	}
+
 	template PDU_BSSGP ts_BSSGP_DL_UD(GprsTlli tlli, octetstring pdu) := {
 		pDU_BSSGP_DL_UNITDATA := {
 			bssgpPduType := '00'O,
@@ -1220,6 +1232,38 @@
 		}
 	}
 
+	template PDU_BSSGP tr_BSSGP_CS_PAGING(BssgpBvci bvci) := {
+		pDU_BSSGP_PAGING_CS := {
+			bssgpPduType := '07'O,
+			iMSI := ?,
+			dRX_Parameters := ?,
+			paging_Field4 := {
+				bVCI := t_BSSGP_BVCI(bvci)
+			},
+			tLLI := *,
+			channel_needed := *,
+			eMLPP_Priority := *,
+			tMSI := *,
+			global_CN_Id := *
+		}
+	}
+
+	template PDU_BSSGP ts_BSSGP_CS_PAGING_IMSI(BssgpBvci bvci, hexstring imsi) := {
+		pDU_BSSGP_PAGING_CS := {
+			bssgpPduType := '07'O,
+			iMSI := ts_BSSGP_IMSI(imsi),
+			dRX_Parameters := t_defaultDRXparam,
+			paging_Field4 := {
+				bVCI := t_BSSGP_BVCI(bvci)
+			},
+			tLLI := omit,
+			channel_needed := omit,
+			eMLPP_Priority := omit,
+			tMSI := omit,
+			global_CN_Id := omit
+		}
+	}
+
 	template PDU_BSSGP tr_BSSGP_PS_PAGING(BssgpBvci bvci) := {
 		pDU_BSSGP_PAGING_PS := {
 			bssgpPduType := '06'O,