diff --git a/TODO.md b/TODO.md
index e9fa9cfb922bc4c918403d7a214ef778a89c0ed5..9283c47b672a3aee80101578e4179e43188cbe17 100644
--- a/TODO.md
+++ b/TODO.md
@@ -59,7 +59,16 @@ https://forge.etsi.org/rep/mec/gs032p2-test-purposes/blob/master/Test%20Purposes
### FAIS
-### RLOC
+### RLOCLOOK
+
+ETSI GS MEC 013 V1.5.0
+
+https://forge.etsi.org/gitlab/mec/gs013-location-api/blob/master/LocationAPI.yaml#/definitions/AccessPointList
+
+- TC_MEC_PLAT_RLOCLOOK_001_OK To be tested
+
+- TC_MEC_PLAT_RLOCLOOK_001_NF To be tested
+
### RNIS
@@ -81,6 +90,16 @@ https://forge.etsi.org/gitlab/mec/gs032p2-test-purposes/blob/master/Test%20Purpo
- TC_MEC_SRV_RNIS_004_OK To be tested
+- TC_MEC_SRV_RNIS_005_OK To be tested
+
+- TC_MEC_SRV_RNIS_006_OK To be tested
+
+- TC_MEC_SRV_RNIS_007_OK To be tested
+
+- TC_MEC_SRV_RNIS_008_OK To be tested
+
+- TODO TC_MEC_SRV_RNIS_009_OK & TC_MEC_SRV_RNIS_010_OK
+
- TC_MEC_SRV_RNIS_011_OK To be tested
- TC_MEC_SRV_RNIS_012_OK To be tested
@@ -189,17 +208,17 @@ https://forge.etsi.org/gitlab/mec/gs032p2-test-purposes/blob/remove-401s/Test%20
- TC_MEC_SRV_UEINFSUB_002_NF To be tested
-### UELOC
+### UELOCLOOK
Draft ETSI GS MEC 013 V2.0.3 (2018-10)
https://forge.etsi.org/gitlab/mec/MEC-tests/blob/master/Test%20Purposes/SRV/UELOC/PlatUeLocationLookup.tplan2
-- TC_MEC_SRV_UELOC_001_OK Done
+- TC_MEC_SRV_UELOCLOOK_001_OK Done
-- TC_MEC_SRV_UELOC_001_BR To be tested
+- TC_MEC_SRV_UELOCLOOK_001_BR To be tested
-- TC_MEC_SRV_UELOC_001_NF To be tested
+- TC_MEC_SRV_UELOCLOOK_001_NF To be tested
### UELOCSUB
diff --git a/ttcn/AtsMec/AtsMec_Grant_TestCases.ttcn b/ttcn/AtsMec/AtsMec_Grant_TestCases.ttcn
index 113baf57f20ec86df5db694705936d198ef58fc7..98e994f51440104efdd4c0324dc1467788fe7f86 100644
--- a/ttcn/AtsMec/AtsMec_Grant_TestCases.ttcn
+++ b/ttcn/AtsMec/AtsMec_Grant_TestCases.ttcn
@@ -78,7 +78,7 @@ group grant {
alt {
[] httpPort.receive(
mw_http_response(
- mw_http_response_ok(
+ mw_http_response_201_created(
mw_http_message_body_json(
mw_body_json_grant_response(
mw_grant_response(
@@ -87,10 +87,8 @@ group grant {
))))) -> value v_response {
tc_ac.stop;
- if (v_response.response.statuscode == 201) {
- log("*** " & testcasename() & ": PASS: IUT successfully responds with a Grant Response ***");
- f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
- }
+ log("*** " & testcasename() & ": PASS: IUT successfully responds with a Grant Response ***");
+ f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
}
[] tc_ac.timeout {
log("*** " & testcasename() & ": INCONC: Expected message not received ***");
diff --git a/ttcn/AtsMec/AtsMec_LocationAPI_TestCases.ttcn b/ttcn/AtsMec/AtsMec_LocationAPI_TestCases.ttcn
index 471ebc796af0c3c34231794cdae3aeed0c9e4cf9..060f0bbad426174f2a1cde9174b486879d3fbbb0 100644
--- a/ttcn/AtsMec/AtsMec_LocationAPI_TestCases.ttcn
+++ b/ttcn/AtsMec/AtsMec_LocationAPI_TestCases.ttcn
@@ -38,7 +38,7 @@ module AtsMec_LocationAPI_TestCases {
* @see https://forge.etsi.org/gitlab/mec/MEC-tests/blob/master/Test%20Purposes/SRV/UELOC/PlatUeLocationLookup.tplan2
* @see https://forge.etsi.org/gitlab/mec/gs013-location-api/blob/master/LocationAPI.yaml#/definitions/UserInfo
*/
- testcase TC_MEC_SRV_UELOC_001_OK() runs on HttpComponent system HttpTestAdapter {
+ testcase TC_MEC_SRV_UELOCLOOK_001_OK() runs on HttpComponent system HttpTestAdapter {
// Local variables
var HeaderLines v_headers;
@@ -94,14 +94,14 @@ module AtsMec_LocationAPI_TestCases {
// Postamble
f_cf_01_http_down();
- } // End of testcase TC_MEC_SRV_UELOC_001_OK
+ } // End of testcase TC_MEC_SRV_UELOCLOOK_001_OK
/**
* @desc Check that the IUT responds with an error when a request with incorrect parameters is sent by a MEC Application
* @see https://forge.etsi.org/gitlab/mec/MEC-tests/blob/master/Test%20Purposes/SRV/UELOC/PlatUeLocationLookup.tplan2
* @see https://forge.etsi.org/gitlab/mec/gs013-location-api/blob/master/LocationAPI.yaml#/definitions/UserInfo
*/
- testcase TC_MEC_SRV_UELOC_001_BR() runs on HttpComponent system HttpTestAdapter {
+ testcase TC_MEC_SRV_UELOCLOOK_001_BR() runs on HttpComponent system HttpTestAdapter {
// Local variables
var HeaderLines v_headers;
@@ -149,14 +149,14 @@ module AtsMec_LocationAPI_TestCases {
// Postamble
f_cf_01_http_down();
- } // End of testcase TC_MEC_SRV_UELOC_001_BR
+ } // End of testcase TC_MEC_SRV_UELOCLOOK_001_BR
/**
* @desc Check that the IUT responds with an error when a request with incorrect parameters is sent by a MEC Application
* @see https://forge.etsi.org/gitlab/mec/MEC-tests/blob/master/Test%20Purposes/SRV/UELOC/PlatUeLocationLookup.tplan2
* @see https://forge.etsi.org/gitlab/mec/gs013-location-api/blob/master/LocationAPI.yaml#/definitions/UserInfo
*/
- testcase TC_MEC_SRV_UELOC_001_NF() runs on HttpComponent system HttpTestAdapter {
+ testcase TC_MEC_SRV_UELOCLOOK_001_NF() runs on HttpComponent system HttpTestAdapter {
// Local variables
var HeaderLines v_headers;
@@ -177,7 +177,7 @@ module AtsMec_LocationAPI_TestCases {
httpPort.send(
m_http_request(
m_http_request_get(
- "/" & PICS_ROOT_API & PX_ME_APP_Q_USERS_LIST_URI & "?zoneId=" & oct2char(unichar2oct(PX_ZONE_ID_UNKNOWN, "UTF-8")),
+ "/" & PICS_ROOT_API & PX_ME_APP_Q_USERS_LIST_URI & "?zoneId=" & oct2char(unichar2oct(NON_EXISTENT_ZONE_ID, "UTF-8")),
v_headers
)
)
@@ -204,7 +204,7 @@ module AtsMec_LocationAPI_TestCases {
// Postamble
f_cf_01_http_down();
- } // End of testcase TC_MEC_SRV_UELOC_001_NF
+ } // End of testcase TC_MEC_SRV_UELOCLOOK_001_NF
} // End of group ueLocationLookup
diff --git a/ttcn/AtsMec/AtsMec_RadioNodeLocationAPI_TestCases.ttcn b/ttcn/AtsMec/AtsMec_RadioNodeLocationAPI_TestCases.ttcn
index ab831df3c0a2df02684d8a96f9e8fcda62b94922..c6ee32ae3dd35345e845eda7406345bb5ef217bb 100644
--- a/ttcn/AtsMec/AtsMec_RadioNodeLocationAPI_TestCases.ttcn
+++ b/ttcn/AtsMec/AtsMec_RadioNodeLocationAPI_TestCases.ttcn
@@ -34,7 +34,7 @@ module AtsMec_RadioNodeLocationAPI_TestCases {
import from LibMec_Pics all;
import from LibMec_Pixits all;
- group me_app_role {
+ group rloclook {
/**
* @desc Check that the IUT responds with the list of radio nodes currently associated with the MEC host and the location of each radio node when queried by a MEC Application
@@ -96,6 +96,66 @@ module AtsMec_RadioNodeLocationAPI_TestCases {
f_cf_01_http_down();
} // End of testcase TC_MEC_PLAT_RLOC_001_OK
- } // End of group me_app_role
+ /**
+ * @desc Check that the IUT responds with an error when a request for an URI that cannot be mapped to a valid resource URI is sent by a MEC Application
+ * @see https://forge.etsi.org/rep/mec/gs032p2-test-purposes/blob/master/Test%20Purposes/SRV/RLOCLOOK/PlatRadioNodeLocation.tplan2
+ * @see https://forge.etsi.org/gitlab/mec/gs013-location-api/blob/master/LocationAPI.yaml#/definitions/AccessPointList
+ */
+ testcase TC_MEC_PLAT_RLOC_001_NF() runs on HttpComponent system HttpTestAdapter {
+ // Local variables
+ var HeaderLines v_headers;
+ var HttpMessage v_response;
+
+ // Test control
+ if (not(PICS_MEC_PLAT) or not(PICS_LOCATION_API_SUPPORTED)) {
+ log("*** " & testcasename() & ": PICS_MEC_PLAT and PICS_LOCATION_API_SUPPORTED required for executing the TC ***");
+ setverdict(inconc);
+ stop;
+ }
+
+ // Test component configuration
+ f_cf_01_http_up();
+
+ // Test adapter configuration
+
+ // Preamble
+ f_init_default_headers_list(-, -, v_headers);
+ httpPort.send(
+ m_http_request(
+ m_http_request_get(
+ PX_ME_APP_Q_ZONE_ID_URI & "/" & oct2char(unichar2oct(NON_EXISTENT_ZONE_ID, "UTF-8")) & "/accessPoints",
+ v_headers
+ )
+ )
+ );
+ f_selfOrClientSyncAndVerdict(c_prDone, e_success);
+
+ // Test Body
+ tc_ac.start;
+ alt {
+ [] httpPort.receive(
+ mw_http_response(
+ mw_http_response_ok(
+ mw_http_message_body_json(
+ mw_body_json_access_point_list(
+ mw_access_point_list(
+ PX_ZONE_ID
+ )))))) -> value v_response {
+ tc_ac.stop;
+
+ log("*** " & testcasename() & ": PASS: IUT successfully responds with an AccessPoint list containing a ZoneId ***");
+ f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
+ }
+ [] tc_ac.timeout {
+ log("*** " & testcasename() & ": INCONC: Expected message not received ***");
+ f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout);
+ }
+ } // End of 'alt' statement
+
+ // Postamble
+ f_cf_01_http_down();
+ } // End of testcase TC_MEC_PLAT_RLOC_001_NF
+
+ } // End of group rloclook
} // End of module AtsMec_RadioNodeLocationAPI_TestCases
diff --git a/ttcn/AtsMec/AtsMec_RnisAPI_TestCases.ttcn b/ttcn/AtsMec/AtsMec_RnisAPI_TestCases.ttcn
index 99d78efb2e333cb615d59d9fa3f0423b467674be..596ffce74ef5bac13257076588376e8a219c68ef 100644
--- a/ttcn/AtsMec/AtsMec_RnisAPI_TestCases.ttcn
+++ b/ttcn/AtsMec/AtsMec_RnisAPI_TestCases.ttcn
@@ -1305,6 +1305,244 @@ module AtsMec_RnisAPI_TestCases {
f_cf_01_http_notif_down();
} // End of testcase TC_MEC_SRV_RNIS_004_OK
+ /**
+ * @desc Check that the RNIS service sends an RNIS notification about UE measurement report if the RNIS service has an associated subscription and the event is generated.
+ * @see https://forge.etsi.org/gitlab/mec/gs032p2-test-purposes/blob/master/Test%20Purposes/SRV/RNIS/RnisNotifications.tplan2
+ */
+ testcase TC_MEC_SRV_RNIS_005_OK() runs on HttpComponent system HttpTestAdapter {
+ // Local variables
+ var HeaderLines v_headers;
+
+ // Test control
+ if (not(PICS_RNIS) or not(PICS_RNIS_NOTIFICATIONS)) {
+ log("*** " & testcasename() & ": PICS_RNIS and PICS_RNIS_NOTIFICATIONS required for executing the TC ***");
+ setverdict(inconc);
+ stop;
+ }
+
+ // Test component configuration
+ f_cf_01_http_notif_up();
+
+ // Test adapter configuration
+
+ // Preamble
+ f_init_default_headers_list(-, -, v_headers);
+ action("Trigger a MeasTaSubscription event");
+ f_selfOrClientSyncAndVerdict(c_prDone, e_success);
+
+ // Test Body
+ tc_wait.start;
+ alt {
+ [] httpPort_notif.receive(
+ mw_http_request(
+ mw_http_request_post(
+ PX_CALLBACK_URI,
+ -,
+ mw_http_message_body_json(
+ mw_body_json_meas_rep_ue_subscription(
+ mw_meas_rep_ue_subscription(
+ PX_CALLBACK_REFERENCE,
+ PX_LINKS_SELF,
+ mw_filter_criteria_tri(
+ PX_APP_INS_ID,
+ -//TODO PX_E_RAB_ID
+ ))))))) {
+ tc_wait.stop;
+
+ // Send 204 No Content
+ httpPort_notif.send(m_http_response(m_http_response_204_no_content(v_headers)));
+
+ log("*** " & testcasename() & ": PASS: IUT successfully sends RAB release notification ***");
+ f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
+ }
+ [] tc_wait.timeout {
+ log("*** " & testcasename() & ": INCONC: Expected message not received ***");
+ f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout);
+ }
+ } // End of 'alt' statement
+
+ // Postamble
+ f_cf_01_http_notif_down();
+ } // End of testcase TC_MEC_SRV_RNIS_005_OK
+
+ /**
+ * @desc Check that the RNIS service sends an RNIS notification about UE timing advance if the RNIS service has an associated subscription and the event is generated.
+ * @see https://forge.etsi.org/gitlab/mec/gs032p2-test-purposes/blob/master/Test%20Purposes/SRV/RNIS/RnisNotifications.tplan2
+ */
+ testcase TC_MEC_SRV_RNIS_006_OK() runs on HttpComponent system HttpTestAdapter {
+ // Local variables
+ var HeaderLines v_headers;
+
+ // Test control
+ if (not(PICS_RNIS) or not(PICS_RNIS_NOTIFICATIONS)) {
+ log("*** " & testcasename() & ": PICS_RNIS and PICS_RNIS_NOTIFICATIONS required for executing the TC ***");
+ setverdict(inconc);
+ stop;
+ }
+
+ // Test component configuration
+ f_cf_01_http_notif_up();
+
+ // Test adapter configuration
+
+ // Preamble
+ f_init_default_headers_list(-, -, v_headers);
+ action("Trigger a MeasTaSubscription event");
+ f_selfOrClientSyncAndVerdict(c_prDone, e_success);
+
+ // Test Body
+ tc_wait.start;
+ alt {
+ [] httpPort_notif.receive(
+ mw_http_request(
+ mw_http_request_post(
+ PX_CALLBACK_URI,
+ -,
+ mw_http_message_body_json(
+ mw_body_json_meas_ta_subscription(
+ mw_meas_ta_subscription(
+ PX_CALLBACK_REFERENCE,
+ PX_LINKS_SELF,
+ mw_filter_criteria_ho(
+ PX_APP_INS_ID,
+ -//TODO PX_E_RAB_ID
+ ))))))) {
+ tc_wait.stop;
+
+ // Send 204 No Content
+ httpPort_notif.send(m_http_response(m_http_response_204_no_content(v_headers)));
+
+ log("*** " & testcasename() & ": PASS: IUT successfully sends RAB release notification ***");
+ f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
+ }
+ [] tc_wait.timeout {
+ log("*** " & testcasename() & ": INCONC: Expected message not received ***");
+ f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout);
+ }
+ } // End of 'alt' statement
+
+ // Postamble
+ f_cf_01_http_notif_down();
+ } // End of testcase TC_MEC_SRV_RNIS_006_OK
+
+ /**
+ * @desc Check that the RNIS service sends an RNIS notification about UE carrier aggregation reconfiguration if the RNIS service has an associated subscription and the event is generated.
+ * @see https://forge.etsi.org/gitlab/mec/gs032p2-test-purposes/blob/master/Test%20Purposes/SRV/RNIS/RnisNotifications.tplan2
+ */
+ testcase TC_MEC_SRV_RNIS_007_OK() runs on HttpComponent system HttpTestAdapter {
+ // Local variables
+ var HeaderLines v_headers;
+
+ // Test control
+ if (not(PICS_RNIS) or not(PICS_RNIS_NOTIFICATIONS)) {
+ log("*** " & testcasename() & ": PICS_RNIS and PICS_RNIS_NOTIFICATIONS required for executing the TC ***");
+ setverdict(inconc);
+ stop;
+ }
+
+ // Test component configuration
+ f_cf_01_http_notif_up();
+
+ // Test adapter configuration
+
+ // Preamble
+ f_init_default_headers_list(-, -, v_headers);
+ action("Trigger a MeasTaSubscription event");
+ f_selfOrClientSyncAndVerdict(c_prDone, e_success);
+
+ // Test Body
+ tc_wait.start;
+ alt {
+ [] httpPort_notif.receive(
+ mw_http_request(
+ mw_http_request_post(
+ PX_CALLBACK_URI,
+ -,
+ mw_http_message_body_json(
+ mw_body_json_ca_reconf_subscription(
+ mw_ca_reconfig_subscription(
+ PX_CALLBACK_REFERENCE,
+ PX_LINKS_SELF,
+ mw_filter_criteria(
+ PX_APP_INS_ID,
+ -//TODO PX_E_RAB_ID
+ ))))))) {
+ tc_wait.stop;
+
+ // Send 204 No Content
+ httpPort_notif.send(m_http_response(m_http_response_204_no_content(v_headers)));
+
+ log("*** " & testcasename() & ": PASS: IUT successfully sends RAB release notification ***");
+ f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
+ }
+ [] tc_wait.timeout {
+ log("*** " & testcasename() & ": INCONC: Expected message not received ***");
+ f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout);
+ }
+ } // End of 'alt' statement
+
+ // Postamble
+ f_cf_01_http_notif_down();
+ } // End of testcase TC_MEC_SRV_RNIS_007_OK
+
+ /**
+ * @desc Check that the RNIS service sends an RNIS notification about S1-U bearer if the RNIS service has an associated subscription and the event is generated.
+ * @see https://forge.etsi.org/gitlab/mec/gs032p2-test-purposes/blob/master/Test%20Purposes/SRV/RNIS/RnisNotifications.tplan2
+ */
+ testcase TC_MEC_SRV_RNIS_008_OK() runs on HttpComponent system HttpTestAdapter {
+ // Local variables
+ var HeaderLines v_headers;
+
+ // Test control
+ if (not(PICS_RNIS) or not(PICS_RNIS_NOTIFICATIONS)) {
+ log("*** " & testcasename() & ": PICS_RNIS and PICS_RNIS_NOTIFICATIONS required for executing the TC ***");
+ setverdict(inconc);
+ stop;
+ }
+
+ // Test component configuration
+ f_cf_01_http_notif_up();
+
+ // Test adapter configuration
+
+ // Preamble
+ f_init_default_headers_list(-, -, v_headers);
+ action("Trigger a MeasTaSubscription event");
+ f_selfOrClientSyncAndVerdict(c_prDone, e_success);
+
+ // Test Body
+ tc_wait.start;
+ alt {
+ [] httpPort_notif.receive(
+ mw_http_request(
+ mw_http_request_post(
+ PX_CALLBACK_URI,
+ -,
+ mw_http_message_body_json(
+ mw_body_json_s1_bearer_subscription(
+ mw_s1_bearer_subscription(
+ PX_CALLBACK_REFERENCE,
+ PX_LINKS_SELF,
+ -//mw_filter_criteria
+ )))))) {
+ tc_wait.stop;
+
+ // Send 204 No Content
+ httpPort_notif.send(m_http_response(m_http_response_204_no_content(v_headers)));
+
+ log("*** " & testcasename() & ": PASS: IUT successfully sends RAB release notification ***");
+ f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
+ }
+ [] tc_wait.timeout {
+ log("*** " & testcasename() & ": INCONC: Expected message not received ***");
+ f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout);
+ }
+ } // End of 'alt' statement
+
+ // Postamble
+ f_cf_01_http_notif_down();
+ } // End of testcase TC_MEC_SRV_RNIS_008_OK
+
} // End of group rnis_notifications
} // End of module AtsMec_RnisAPI_TestCases
diff --git a/ttcn/AtsMec/AtsMec_TestControl.ttcn b/ttcn/AtsMec/AtsMec_TestControl.ttcn
index fe7b4ea89f776abf92eedd016550eb2c17572855..452f7e3ecb9699c6cb2f0db52fdfb4cb0cff4c76 100644
--- a/ttcn/AtsMec/AtsMec_TestControl.ttcn
+++ b/ttcn/AtsMec/AtsMec_TestControl.ttcn
@@ -34,9 +34,9 @@ module AtsMec_TestControl {
execute(TC_MEC_SRV_UETAG_002_PF());
}
if (PICS_LOCATION_API_SUPPORTED) {
- execute(TC_MEC_SRV_UELOC_001_OK());
- execute(TC_MEC_SRV_UELOC_001_BR());
- execute(TC_MEC_SRV_UELOC_001_NF());
+ execute(TC_MEC_SRV_UELOCLOOK_001_OK());
+ execute(TC_MEC_SRV_UELOCLOOK_001_BR());
+ execute(TC_MEC_SRV_UELOCLOOK_001_NF());
execute(TC_MEC_SRV_UELOCSUB_001_OK());
execute(TC_MEC_SRV_UELOCSUB_001_BR());
@@ -58,6 +58,7 @@ module AtsMec_TestControl {
execute(TC_MEC_SRV_UEINFSUB_002_NF());
execute(TC_MEC_PLAT_RLOC_001_OK());
+ execute(TC_MEC_PLAT_RLOC_001_NF());
}
if (PICS_ENABLE_APP_API_SUPPORTED) {
diff --git a/ttcn/LibIts b/ttcn/LibIts
index fa803fc714e8896de7ce12d0ecec822b5e8949dc..8b156c8b0781f511dc4444742ee2eed9818aa865 160000
--- a/ttcn/LibIts
+++ b/ttcn/LibIts
@@ -1 +1 @@
-Subproject commit fa803fc714e8896de7ce12d0ecec822b5e8949dc
+Subproject commit 8b156c8b0781f511dc4444742ee2eed9818aa865
diff --git a/ttcn/LibMec/LocationAPI/ttcn/LocationAPI_Pixits.ttcn b/ttcn/LibMec/LocationAPI/ttcn/LocationAPI_Pixits.ttcn
index d5c8ac30cfb9c5896607aca47247b8d2c298cd71..6152ceb5d3bcd3d3fba3230af0b17017482878d7 100644
--- a/ttcn/LibMec/LocationAPI/ttcn/LocationAPI_Pixits.ttcn
+++ b/ttcn/LibMec/LocationAPI/ttcn/LocationAPI_Pixits.ttcn
@@ -22,7 +22,7 @@ module LocationAPI_Pixits {
modulepar ZoneId PX_ZONE_ID := "zone01";
- modulepar ZoneId PX_ZONE_ID_UNKNOWN := "zone51";
+ modulepar ZoneId NON_EXISTENT_ZONE_ID := "zone51";
modulepar ResourceURL PX_RESOURCE_URL := "http://example.com/exampleAPI/location/v2/users?address:acr:192.0.0.1";
diff --git a/ttcn/LibMec/RnisAPI/ttcn/RnisAPI_Templates.ttcn b/ttcn/LibMec/RnisAPI/ttcn/RnisAPI_Templates.ttcn
index 4d9e20e9466472367d8a71aa6ef58300148fd139..c70bc23f74613705de9b24a41df98c109d8bdc37 100644
--- a/ttcn/LibMec/RnisAPI/ttcn/RnisAPI_Templates.ttcn
+++ b/ttcn/LibMec/RnisAPI/ttcn/RnisAPI_Templates.ttcn
@@ -189,6 +189,58 @@ module RnisAPI_Templates {
expiryDeadline := p_expiryDeadline
} // End of template mw_rab_rel_subscription
+ template (present) MeasRepUeSubscription mw_meas_rep_ue_subscription(
+ template (present) CallbackReference p_callbackReference := ?,
+ template (present) Link p_links := ?,
+ template (present) FilterCriteriaAssocTri p_filterCriteria := ?,
+ template (present)TimeStamp p_expiryDeadline := ?
+ ) := {
+ subscriptionType := MEAS_REPORT_UE,
+ callbackReference := p_callbackReference,
+ links := p_links,
+ filterCriteria := p_filterCriteria,
+ expiryDeadline := p_expiryDeadline
+ } // End of template mw_meas_rep_ue_subscription
+
+ template (present) MeasTaSubscription mw_meas_ta_subscription(
+ template (present) CallbackReference p_callbackReference := ?,
+ template (present) Link p_links := ?,
+ template (present) FilterCriteriaAssocHo p_filterCriteria := ?,
+ template (present)TimeStamp p_expiryDeadline := ?
+ ) := {
+ subscriptionType := MEAS_TIMING_ADVANCE,
+ callbackReference := p_callbackReference,
+ links := p_links,
+ filterCriteria := p_filterCriteria,
+ expiryDeadline := p_expiryDeadline
+ } // End of template mw_meas_ta_subscription
+
+ template (present) CaReConfSubscription mw_ca_reconfig_subscription(
+ template (present) CallbackReference p_callbackReference := ?,
+ template (present) Link p_links := ?,
+ template (present) FilterCriteriaAssoc p_filterCriteria := ?,
+ template (present)TimeStamp p_expiryDeadline := ?
+ ) := {
+ subscriptionType := CA_RECONF,
+ callbackReference := p_callbackReference,
+ links := p_links,
+ filterCriteria := p_filterCriteria,
+ expiryDeadline := p_expiryDeadline
+ } // End of template mw_ca_reconfig_subscription
+
+ template (present) S1BearerSubscription mw_s1_bearer_subscription(
+ template (present) CallbackReference p_callbackReference := ?,
+ template (present) Link p_links := ?,
+ template (present) S1BearerSubscriptionCriteria p_s1BearerSubscriptionCriteria := ?,
+ template (present)TimeStamp p_expiryDeadline := ?
+ ) := {
+ subscriptionType := S1_BEARER,
+ callbackReference := p_callbackReference,
+ links := p_links,
+ s1BearerSubscriptionCriteria := p_s1BearerSubscriptionCriteria,
+ expiryDeadline := p_expiryDeadline
+ } // End of template mw_s1_bearer_subscription
+
} // End of group notifications
group info_request {
@@ -297,6 +349,30 @@ module RnisAPI_Templates {
nanoSeconds := p_nanoSeconds
} // End of temlate mw_time_stamp
+ template (value) FilterCriteriaAssoc m_filter_criteria(
+ in AppInsId p_appInsId,
+ in template (value) AssociateId p_associateId,
+ in template (value) Plmn p_plmn,
+ in template (value) CellId p_cellId
+ ) := {
+ appInsId := p_appInsId,
+ associateId := p_associateId,
+ plmn := p_plmn,
+ cellId := p_cellId
+ } // End of template m_filter_criteria
+
+ template (present) FilterCriteriaAssoc mw_filter_criteria(
+ template (present) AppInsId p_appInsId := ?,
+ template (present) AssociateId p_associateId := ?,
+ template (present) Plmn p_plmn := ?,
+ template (present) CellId p_cellId := ?
+ ) := {
+ appInsId := p_appInsId,
+ associateId := p_associateId,
+ plmn := p_plmn,
+ cellId := p_cellId
+ } // End of template mw_filter_criteria
+
template (value) FilterCriteriaAssocHo m_filter_criteria_ho(
in AppInsId p_appInsId,
in template (value) AssociateId p_associateId,
@@ -349,6 +425,30 @@ module RnisAPI_Templates {
qci := p_qci
} // End of template mw_filter_criteria_qci
+ template (value) FilterCriteriaAssocTri m_filter_criteria_tri(
+ in AppInsId p_appInsId,
+ in template (value) Plmn p_plmn,
+ in template (value) CellId p_cellId,
+ in template (value) Trigger p_trigger
+ ) := {
+ appInsId := p_appInsId,
+ plmn := p_plmn,
+ cellId := p_cellId,
+ trigger_ := p_trigger
+ } // End of template m_filter_criteria_tri
+
+ template (present) FilterCriteriaAssocTri mw_filter_criteria_tri(
+ template (present) AppInsId p_appInsId := ?,
+ template (present) Plmn p_plmn := ?,
+ template (present) CellId p_cellId := ?,
+ template (present) Trigger p_trigger := ?
+ ) := {
+ appInsId := p_appInsId,
+ plmn := p_plmn,
+ cellId := p_cellId,
+ trigger_ := p_trigger
+ } // End of template mw_filter_criteria_tri
+
template (value) CellUserInfo_ m_cell_user_info(
in template (value) Ecgi p_ecgi,
in template (value) UeInfo p_ueInfo
diff --git a/ttcn/LibMec/RnisAPI/ttcn/RnisAPI_TypesAndValues.ttcn b/ttcn/LibMec/RnisAPI/ttcn/RnisAPI_TypesAndValues.ttcn
index 80b2c74e85e417731ad10cdb9263ffaca3d7e92f..e5ba61fe92e26b69edc3ee6079d20808f77e80ba 100644
--- a/ttcn/LibMec/RnisAPI/ttcn/RnisAPI_TypesAndValues.ttcn
+++ b/ttcn/LibMec/RnisAPI/ttcn/RnisAPI_TypesAndValues.ttcn
@@ -294,6 +294,7 @@ module RnisAPI_TypesAndValues {
* @member expiryDeadline
*/
type record MeasRepUeSubscription {
+ SubscriptionType subscriptionType,
CallbackReference callbackReference,
Link links,
FilterCriteriaAssocTri filterCriteria,
@@ -324,6 +325,7 @@ module RnisAPI_TypesAndValues {
* @member expiryDeadline
*/
type record S1BearerSubscription {
+ SubscriptionType subscriptionType,
CallbackReference callbackReference,
Link links,
S1BearerSubscriptionCriteria s1BearerSubscriptionCriteria,
@@ -430,6 +432,7 @@ module RnisAPI_TypesAndValues {
* @member expiryDeadline
*/
type record CaReConfSubscription {
+ SubscriptionType subscriptionType,
CallbackReference callbackReference,
Link links,
FilterCriteriaAssoc filterCriteria,
@@ -486,6 +489,7 @@ module RnisAPI_TypesAndValues {
* @member expiryDeadline
*/
type record MeasTaSubscriptionPost {
+ SubscriptionType subscriptionType,
CallbackReference callbackReference,
FilterCriteriaAssoc filterCriteria,
TimeStamp expiryDeadline optional
@@ -499,6 +503,7 @@ module RnisAPI_TypesAndValues {
* @member expiryDeadline
*/
type record MeasTaSubscription {
+ SubscriptionType subscriptionType,
CallbackReference callbackReference,
Link links,
FilterCriteriaAssocHo filterCriteria,
@@ -556,7 +561,7 @@ module RnisAPI_TypesAndValues {
MEAS_REPORT_UE,
MEAS_TIMING_ADVANCE,
CA_RECONF,
- S1_BEARE,
+ S1_BEARER,
WRONG_PARAMETER
}
diff --git a/ttcn/patch_lib_http/LibItsHttp_JsonMessageBodyTypes.ttcn b/ttcn/patch_lib_http/LibItsHttp_JsonMessageBodyTypes.ttcn
index c6f81ebfbf3ffadd0ffe753b7bc9b8fd11053783..fbe3e0c1d1dccde89567cda333be80f4dcede69a 100644
--- a/ttcn/patch_lib_http/LibItsHttp_JsonMessageBodyTypes.ttcn
+++ b/ttcn/patch_lib_http/LibItsHttp_JsonMessageBodyTypes.ttcn
@@ -38,6 +38,10 @@ module LibItsHttp_JsonMessageBodyTypes {
RabEstSubscription rabEstSubscription,
RabModSubscription rabModSubscription,
RabRelSubscription rabRelSubscription,
+ MeasRepUeSubscription measRepUeSubscription,
+ MeasTaSubscription measTaSubscription,
+ CaReConfSubscription caReConfSubscription,
+ S1BearerSubscription s1BearerSubscription,
RnisAPI_TypesAndValues.ProblemDetails problemDetails_rnis,
BwInfo bwInfo,
BwManagementAPI_TypesAndValues.ProblemDetails problemDetails_bw_management,
diff --git a/ttcn/patch_lib_http/LibItsHttp_JsonTemplates.ttcn b/ttcn/patch_lib_http/LibItsHttp_JsonTemplates.ttcn
index b1706fc182f707366d41a9f00e52a76d73f6c4d6..08714d30714e55f11e5c511e87b4c2ca3aece6ba 100644
--- a/ttcn/patch_lib_http/LibItsHttp_JsonTemplates.ttcn
+++ b/ttcn/patch_lib_http/LibItsHttp_JsonTemplates.ttcn
@@ -304,6 +304,54 @@ group ams_api {
rabRelSubscription := p_rabRelSubscription
} // End of template mw_body_json_rab_rel_subscription
+ template (value) JsonBody m_body_json_meas_rep_ue_subscription(
+ in template (value) MeasRepUeSubscription p_measRepUeSubscription
+ ) := {
+ measRepUeSubscription := p_measRepUeSubscription
+ } // End of template m_body_json_meas_rep_ue_subscription
+
+ template (present) JsonBody mw_body_json_meas_rep_ue_subscription(
+ template (present) MeasRepUeSubscription p_measRepUeSubscription := ?
+ ) := {
+ measRepUeSubscription := p_measRepUeSubscription
+ } // End of template mw_body_json_meas_rep_ue_subscription
+
+ template (value) JsonBody m_body_json_meas_ta_subscription(
+ in template (value) MeasTaSubscription p_measTaSubscription
+ ) := {
+ measTaSubscription := p_measTaSubscription
+ } // End of template m_body_json_meas_ta_subscription
+
+ template (present) JsonBody mw_body_json_meas_ta_subscription(
+ template (present) MeasTaSubscription p_measTaSubscription := ?
+ ) := {
+ measTaSubscription := p_measTaSubscription
+ } // End of template mw_body_json_meas_ta_subscription
+
+ template (value) JsonBody m_body_json_ca_reconf_subscription(
+ in template (value) CaReConfSubscription p_caReconfSubscription
+ ) := {
+ caReConfSubscription := p_caReconfSubscription
+ } // End of template m_body_json_ca_reconf_subscription
+
+ template (present) JsonBody mw_body_json_ca_reconf_subscription(
+ template (present) CaReConfSubscription p_caReconfSubscription := ?
+ ) := {
+ caReConfSubscription := p_caReconfSubscription
+ } // End of template mw_body_json_ca_reconf_subscription
+
+ template (value) JsonBody m_body_json_s1_bearer_subscription(
+ in template (value) S1BearerSubscription p_s1BearerSubscription
+ ) := {
+ s1BearerSubscription := p_s1BearerSubscription
+ } // End of template m_body_json_s1_bearer_subscription
+
+ template (present) JsonBody mw_body_json_s1_bearer_subscription(
+ template (present) S1BearerSubscription p_s1BearerSubscription := ?
+ ) := {
+ s1BearerSubscription := p_s1BearerSubscription
+ } // End of template mw_body_json_s1_bearer_subscription
+
template (value) JsonBody m_body_json_rni_problem_details(
in template (value) RnisAPI_TypesAndValues.ProblemDetails p_problemDetails
) := {