pespin has submitted this change. (
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/42418?usp=email )
Change subject: 5gc: Introduce test TC_secondary_rat_data_usage_report
......................................................................
5gc: Introduce test TC_secondary_rat_data_usage_report
Change-Id: I8a82b1a8bcea948356d819af5c4919ae3829e549
---
M 5gc/C5G_Tests.ttcn
M 5gc/ConnHdlr.ttcn
M 5gc/expected-results.xml
M library/ngap/NGAP_EncDec.cc
M library/ngap/NGAP_Types.ttcn
5 files changed, 73 insertions(+), 1 deletion(-)
Approvals:
pespin: Looks good to me, approved
osmith: Looks good to me, but someone else must approve
Jenkins Builder: Verified
fixeria: Looks good to me, but someone else must approve
diff --git a/5gc/C5G_Tests.ttcn b/5gc/C5G_Tests.ttcn
index ddd000a..02ba9c3 100644
--- a/5gc/C5G_Tests.ttcn
+++ b/5gc/C5G_Tests.ttcn
@@ -911,6 +911,29 @@
vc_conn[1].done;
}
+/* 3GPP TS 23.502 4.21 Secondary RAT Usage Data Reporting Procedure
+ * 3GPP TS 38.413 8.15.1 Secondary RAT Data Usage Report
+ */
+private function f_TC_secondary_rat_data_usage_report() runs on ConnHdlr {
+ f_register();
+ f_pdu_sess_establish();
+ f_sleep(1.0);
+
+ f_secondary_rat_data_usage_report();
+
+ f_pdu_sess_release();
+ f_deregister();
+}
+testcase TC_secondary_rat_data_usage_report() runs on MTC_CT {
+ f_init();
+ f_ngap_setup(0);
+
+ var ConnHdlrPars pars := f_init_pars(ue_idx := 0);
+ var ConnHdlr vc_conn;
+ vc_conn :=
f_start_handler_with_pars(refers(f_TC_secondary_rat_data_usage_report), pars);
+ vc_conn.done;
+}
+
control {
execute( TC_ng_setup() );
execute( TC_ng_setup_unknown_global_gnb_id_plmn() );
@@ -940,6 +963,8 @@
execute( TC_handover_inter_ngran_xn() );
execute( TC_handover_inter_ngran_n2() );
execute( TC_handover_inter_ngran_n2_cancel() );
+
+ execute( TC_secondary_rat_data_usage_report() );
}
/* TODO:
@@ -976,7 +1001,6 @@
* - 3GPP TS 23.502 4.13.6.2 Inter RAT Fallback in 5GC for IMS voice: Not
supported by open5gs (https://github.com/open5gs/open5gs/issues/2534)
* - 3GPP TS 23.502 4.13.6.3 Transfer of PDU session used for IMS voice from
non-3GPP access to 5GS: Not supported by open5gs
(https://github.com/open5gs/open5gs/issues/2534)
* - 3GPP TS 23.502 4.14.1 RAN Initiated QoS Flow Mobility
- * - 3GPP TS 23.502 4.21 Secondary RAT Usage Data Reporting Procedure
* - 3GPP TS 23.502 Annex G (normative): Support of GERAN/UTRAN access by
SMF+PGW-C
*
* - Emergency call (PDU Sess Establish "Request Type"="Emergency Request")
diff --git a/5gc/ConnHdlr.ttcn b/5gc/ConnHdlr.ttcn
index 7716cad..33c7669 100644
--- a/5gc/ConnHdlr.ttcn
+++ b/5gc/ConnHdlr.ttcn
@@ -838,6 +838,31 @@
NGAP.send(nas_ul_msg);
}
+/* 3GPP TS 38.413 9.2.14.1 SECONDARY RAT DATA USAGE REPORT
+ * 3GPP TS 23.502 4.21 Secondary RAT Usage Data Reporting Procedure
+ * 3GPP TS 38.413 8.15.1 Secondary RAT Data Usage Report
+ **/
+function f_secondary_rat_data_usage_report() runs on ConnHdlr {
+ var template (value) SecondaryRATUsageInformation rat_use_info;
+ var template (value) SecondaryRATDataUsageReportTransfer transfer;
+ var octetstring transfer_enc;
+ var template (value) PDUSessionResourceSecondaryRATUsageItem it;
+ var template (value) NGAP_PDU tx_pdu;
+
+ rat_use_info := m_secondaryRATUsageInformation();
+ transfer := m_secondaryRATDataUsageReportTransfer(rat_use_info);
+ transfer_enc :=
enc_NGAP_SecondaryRATDataUsageReportTransfer(valueof(transfer));
+ it :=
m_pPDUSessionResourceSecondaryRATUsageItem(g_pars.ue_pars.sess_pars.id,
+ transfer_enc);
+
+ tx_pdu := m_ngap_initMsg(
+ m_n2_SecondaryRATDataUsageReport(
+ g_pars.ue_pars.amf_id,
+ g_pars.ue_pars.ran_id,
+ { it }));
+ NGAP.send(tx_pdu);
+}
+
/* 3GPP TS 24.501 5.5.2.2 UE-initiated de-registration procedure,
* 3GPP TS 23.502 4.2.2.3.2 UE-initiated Deregistration */
function f_deregister() runs on ConnHdlr {
diff --git a/5gc/expected-results.xml b/5gc/expected-results.xml
index 7dfbcfb..ed5ac2b 100644
--- a/5gc/expected-results.xml
+++ b/5gc/expected-results.xml
@@ -35,4 +35,5 @@
<testcase classname='C5G_Tests' name='TC_handover_inter_ngran_xn'
time='MASKED'/>
<testcase classname='C5G_Tests' name='TC_handover_inter_ngran_n2'
time='MASKED'/>
<testcase classname='C5G_Tests' name='TC_handover_inter_ngran_n2_cancel'
time='MASKED'/>
+ <testcase classname='C5G_Tests' name='TC_secondary_rat_data_usage_report'
time='MASKED'/>
</testsuite>
diff --git a/library/ngap/NGAP_EncDec.cc b/library/ngap/NGAP_EncDec.cc
index b024c32..64c9755 100644
--- a/library/ngap/NGAP_EncDec.cc
+++ b/library/ngap/NGAP_EncDec.cc
@@ -189,4 +189,24 @@
return ret;
}
+OCTETSTRING enc__NGAP__SecondaryRATDataUsageReportTransfer(const
NGAP__IEs::SecondaryRATDataUsageReportTransfer &p)
+{
+ TTCN_Buffer TTCN_buf;
+ TTCN_buf.clear();
+ p.encode(NGAP__IEs::SecondaryRATDataUsageReportTransfer_descr_,
TTCN_buf,
+ TTCN_EncDec::CT_PER, PER_ALIGNED);
+ return OCTETSTRING(TTCN_buf.get_len(), TTCN_buf.get_data());
+}
+
+NGAP__IEs::SecondaryRATDataUsageReportTransfer
dec__NGAP__SecondaryRATDataUsageReportTransfer(const OCTETSTRING &stream)
+{
+ NGAP__IEs::SecondaryRATDataUsageReportTransfer ret;
+ TTCN_Buffer TTCN_buf;
+ TTCN_buf.clear();
+ TTCN_buf.put_os(stream);
+ ret.decode(NGAP__IEs::SecondaryRATDataUsageReportTransfer_descr_,
TTCN_buf,
+ TTCN_EncDec::CT_PER, PER_ALIGNED);
+ return ret;
+}
+
}
diff --git a/library/ngap/NGAP_Types.ttcn b/library/ngap/NGAP_Types.ttcn
index e4a9f4e..86851f5 100644
--- a/library/ngap/NGAP_Types.ttcn
+++ b/library/ngap/NGAP_Types.ttcn
@@ -30,4 +30,6 @@
external function
enc_NGAP_HandoverRequestAcknowledgeTransfer(NGAP_IEs.HandoverRequestAcknowledgeTransfer
p) return octetstring;
external function dec_NGAP_HandoverRequestAcknowledgeTransfer(in
octetstring pdu) return NGAP_IEs.HandoverRequestAcknowledgeTransfer;
+ external function
enc_NGAP_SecondaryRATDataUsageReportTransfer(NGAP_IEs.SecondaryRATDataUsageReportTransfer
p) return octetstring;
+ external function dec_NGAP_SecondaryRATDataUsageReportTransfer(in
octetstring pdu) return NGAP_IEs.SecondaryRATDataUsageReportTransfer;
}
--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/42418?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: merged
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I8a82b1a8bcea948356d819af5c4919ae3829e549
Gerrit-Change-Number: 42418
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <[email protected]>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <[email protected]>
Gerrit-Reviewer: osmith <[email protected]>
Gerrit-Reviewer: pespin <[email protected]>