From ea6a0eb0fc2f84b73cf453f2761241e7ca870fa6 Mon Sep 17 00:00:00 2001 From: garciay Date: Wed, 30 Aug 2023 09:42:17 +0200 Subject: [PATCH 01/32] Review TD_VoLTE_ECO_INT_INI_010, TD_VoLTE_ECO_INT_REJ_01_xx; Add TD_VoLTE_ECO_INT_REJ_02/03 --- ttcn/AtsImsIot/AtsImsIot_Emergency.ttcn | 186 +++++++++++++++--- ttcn/AtsImsIot/AtsImsIot_TP_behavior_GM.ttcn | 96 +++++++++ ttcn/AtsImsIot/AtsImsIot_TP_behavior_MM.ttcn | 48 ++++- .../AtsImsIot_TP_behavior_MW_EC.ttcn | 75 ++++++- ttcn/AtsImsIot/AtsImsIot_Templates.ttcn | 12 ++ 5 files changed, 381 insertions(+), 36 deletions(-) diff --git a/ttcn/AtsImsIot/AtsImsIot_Emergency.ttcn b/ttcn/AtsImsIot/AtsImsIot_Emergency.ttcn index 8004e35..2afa111 100644 --- a/ttcn/AtsImsIot/AtsImsIot_Emergency.ttcn +++ b/ttcn/AtsImsIot/AtsImsIot_Emergency.ttcn @@ -1175,7 +1175,6 @@ module AtsImsIot_Emergency { f_mtc_userInitiateCall (v_ueA, v_infoPsap); // Event 1 // Test body - //f_mtc_userInitiateCall (v_ueA, v_userTelInfoB); f_mtc_check_TP_GM_PCSCF_INVITE_02(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 1 f_mtc_check_TP_GM_PCSCF_ECO_100Trying_01(vc_vxlte_monitor_components.gmA, -, v_sip); @@ -1193,7 +1192,7 @@ module AtsImsIot_Emergency { f_mtc_check_TP_MW_PCSCF_ECO_100Trying_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // FIXME f_mtc_check_TP_MW_IBCF_xxx <--> f_mtc_check_TP_ML_EBCF_xxx - f_mtc_check_TP_MW_IBCF_INVITE_01(vc_vxlte_monitor_components.mlE_LRF); // Event 11 + f_mtc_check_TP_ML_ECSCF_ECO_INVITE_01(vc_vxlte_monitor_components.mlE_LRF, -, v_sip); // Event 11 f_mtc_check_TP_MX_LRF_3xxAny_01(vc_vxlte_monitor_components.mlE_LRF, -, v_sip); // Event 12 f_mtc_check_TP_MW_IBCF_INVITE_01(vc_vxlte_monitor_components.mwEB); // Event 13 @@ -1380,7 +1379,6 @@ module AtsImsIot_Emergency { f_mtc_check_precond_TD_VoLTE_ECO_INT_INI_10_01(); // Test body - //f_mtc_userInitiateCall (v_ueA, v_userTelInfoB); f_mtc_check_TP_MM_ECSCF_ECO_INVITE_01(vc_vxlte_monitor_components.mmB_PSAP, -, v_sip); // INVITE Event 1 f_mtc_check_TP_MM_ECSCF_ECO_100Trying_01(vc_vxlte_monitor_components.mmB_PSAP, -, v_sip); @@ -1405,7 +1403,7 @@ module AtsImsIot_Emergency { f_mtc_userAnswerCall(v_ueA); // Event 26 f_mtc_check_TP_GM_PCSCF_200OK_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 18 - f_mtc_check_TP_MW_PCSCF_ECO_200OK_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 10 + f_mtc_check_TP_MW_PCSCF_ECO_200OK_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 19 f_mtc_check_TP_MM_ECSCF_ECO_200OK_01(vc_vxlte_monitor_components.mmB_PSAP, -, v_sip); // 200 OK Event 21 f_mtc_check_TP_MM_ECSCF_ECO_ACK_01(vc_vxlte_monitor_components.mmB_PSAP, -, v_sip); // ACK – Event 22 @@ -1484,7 +1482,7 @@ module AtsImsIot_Emergency { // Test body //f_mtc_userInitiateCall (v_ueA, v_userTelInfoB); - f_mtc_check_TP_IC_IBCF_INVITE_01(vc_vxlte_monitor_components.ic); // Event 21 + f_mtc_check_TP_IC_IBCF_INVITE_01(vc_vxlte_monitor_components.ic); // Event 2 f_mtc_check_TP_GM_PCSCF_ECO_100Trying_01(vc_vxlte_monitor_components.ic, -, v_sip); f_mtc_check_TP_MW_IBCF_INVITE_01(vc_vxlte_monitor_components.mwEB); // Event 3 @@ -1510,7 +1508,7 @@ module AtsImsIot_Emergency { f_mtc_userAnswerCall(v_ueA); // Event 26 f_mtc_check_TP_GM_PCSCF_200OK_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 18 - f_mtc_check_TP_MW_PCSCF_ECO_200OK_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 10 + f_mtc_check_TP_MW_PCSCF_ECO_200OK_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 19 f_mtc_check_TP_MM_ECSCF_ECO_200OK_01(vc_vxlte_monitor_components.mmB_PSAP, -, v_sip); // 200 OK Event 21 f_mtc_check_TP_MM_ECSCF_ECO_ACK_01(vc_vxlte_monitor_components.mmB_PSAP, -, v_sip); // ACK – Event 22 @@ -1588,11 +1586,47 @@ module AtsImsIot_Emergency { f_mtc_userInitiateCall (v_ueA, v_infoPsap); // Event 1 // Test body - //f_mtc_userInitiateCall (v_ueA, v_userTelInfoB); - // TODO + f_mtc_check_TP_IC_IBCF_INVITE_02(vc_vxlte_monitor_components.ic); // Event 4 - f_mtc_userCheckCallEstablished(v_ueA); // Event 34 - f_mtc_userCheckCallEstablished(v_psap); // Event 34 + f_mtc_check_TP_MW_IBCF_INVITE_01(vc_vxlte_monitor_components.mwEB); // Event 5 + f_mtc_check_TP_MW_IBSCF_100Trying_01(vc_vxlte_monitor_components.mwEB, -, v_sip); + + f_mtc_check_TP_MW_PCSCF_ECO_INVITE_02(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 6 + f_mtc_check_TP_MW_PCSCF_ECO_100Trying_01(vc_vxlte_monitor_components.mwPE, -, v_sip); + + f_mtc_check_TP_GM_PCSCF_INVITE_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 7 + f_mtc_check_TP_GM_PCSCF_ECO_100Trying_01(vc_vxlte_monitor_components.gmA, -, v_sip); + + // 183 Session Progress + f_mtc_check_TP_GM_PCSCF_183SESSION_PROGRESS_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 8 + f_mtc_check_TP_MW_PCSCF_ECO_183SESSION_PROGRESS_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 9 + + f_mtc_check_TP_MW_PCSCF_ECO_183SESSION_PROGRESS_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 13 + f_mtc_check_TP_IC_IBCF_183RESP_01(vc_vxlte_monitor_components.ic); // Event 14 + + f_mtc_userCheckRinging(v_ueA); // Event 15 + f_mtc_userCheckPeerIsRinging(v_psap); // Event 15 + + f_mtc_check_TP_GM_PCSCF_180RINGING_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 16 + f_mtc_check_TP_MW_PCSCF_ECO_180RINGING_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 17 + + f_mtc_check_TP_GM_PCSCF_200OK_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 18 + f_mtc_check_TP_MW_PCSCF_ECO_200OK_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 19 + + f_mtc_check_TP_MW_PCSCF_ECO_180RINGING_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 29 + f_mtc_check_TP_IC_IBCF_180RESP_01(vc_vxlte_monitor_components.ic); // Event 30 + + f_mtc_check_TP_MW_PCSCF_200OK_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 31 + f_mtc_check_TP_IC_IBCF_2XXRESP_01(vc_vxlte_monitor_components.ic); // Event 32 + + f_mtc_check_TP_IC_IBCF_ACK_01(vc_vxlte_monitor_components.ic); // Event 33 + f_mtc_check_TP_MW_PCSCF_ACK_02(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 34 + + f_mtc_check_TP_MW_PCSCF_ECO_ACK_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 35 + f_mtc_check_TP_GM_PCSCF_ACK_01(vc_vxlte_monitor_components.gmA, -, v_sip); // ACK Event 36 + + f_mtc_userCheckCallEstablished(v_ueA); // Event 37 + f_mtc_userCheckCallEstablished(v_psap); // Event 37 // Postamble f_mtc_EndCall(v_ueA); @@ -1753,7 +1787,6 @@ module AtsImsIot_Emergency { f_mtc_userInitiateCall (v_ueA, v_infoPsap); // Event 1 // Test body - //f_mtc_userInitiateCall (v_ueA, v_userTelInfoB); f_mtc_check_TP_GM_PCSCF_ECO_BYE_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 2 f_mtc_check_TP_MW_PCSCF_ECO_BYE_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 3 @@ -1926,9 +1959,21 @@ module AtsImsIot_Emergency { f_mtc_userInitiateCall (v_ueA, v_infoPsap); // Event 1 // Test body - //f_mtc_userInitiateCall (v_ueA, v_userTelInfoB); + f_mtc_check_TP_MM_ECSCF_ECO_BYE_01(vc_vxlte_monitor_components.mmB_PSAP, -, v_sip); // Event 1 - // TODO + f_mtc_check_TP_MW_PCSCF_ECO_BYE_02(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 7 + f_mtc_check_TP_GM_PCSCF_ECO_BYE_02(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 8 + + //Rx/Gx exchange after BYE was received at P-CSCF + f_mtc_check_TP_RX_PCSCF_STR_01(vc_vxlte_monitor_components.rx); // Event 9 + f_mtc_check_TP_GX_PCRF_RAR_02(vc_vxlte_monitor_components.gx, true); // Event 10 + f_mtc_check_TP_GX_PGW_RAA_03(vc_vxlte_monitor_components.gx); // Event 1 + f_mtc_check_TP_RX_PCRF_STA_01(vc_vxlte_monitor_components.rx); // Event 12 + + f_mtc_check_TP_GM_PCSCF_ECO_200OK_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 13 + f_mtc_check_TP_MW_PCSCF_ECO_200OK_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 14 + + f_mtc_check_TP_MM_ECSCF_ECO_200OK_01(vc_vxlte_monitor_components.mmB_PSAP, -, v_sip); // Event 15 f_mtc_userCheckCallTerminated(v_ueA); // Event 21 f_mtc_userCheckCallCancelled(v_psap); // Event 20 @@ -2001,9 +2046,24 @@ module AtsImsIot_Emergency { f_mtc_userInitiateCall (v_ueA, v_infoPsap); // Event 1 // Test body - //f_mtc_userInitiateCall (v_ueA, v_userTelInfoB); - // TODO + f_mtc_check_TP_IC_IBCF_BYE_01(vc_vxlte_monitor_components.ic); // Event 3 + f_mtc_check_TP_MM_ECSCF_ECO_BYE_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 4 + + f_mtc_check_TP_MW_PCSCF_ECO_BYE_02(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 7 + f_mtc_check_TP_GM_PCSCF_ECO_BYE_02(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 8 + + //Rx/Gx exchange after BYE was received at P-CSCF + f_mtc_check_TP_RX_PCSCF_STR_01(vc_vxlte_monitor_components.rx); // Event 9 + f_mtc_check_TP_GX_PCRF_RAR_02(vc_vxlte_monitor_components.gx, true); // Event 10 + f_mtc_check_TP_GX_PGW_RAA_03(vc_vxlte_monitor_components.gx); // Event 1 + f_mtc_check_TP_RX_PCRF_STA_01(vc_vxlte_monitor_components.rx); // Event 12 + + f_mtc_check_TP_GM_PCSCF_ECO_200OK_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 13 + f_mtc_check_TP_MW_PCSCF_ECO_200OK_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 14 + + f_mtc_check_TP_MM_ECSCF_ECO_200OK_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 16 + f_mtc_check_TP_IC_IBCF_2XXRESP_01(vc_vxlte_monitor_components.ic); // Event 17 f_mtc_userCheckCallTerminated(v_ueA); // Event 21 f_mtc_userCheckCallCancelled(v_psap); // Event 20 @@ -2076,9 +2136,24 @@ module AtsImsIot_Emergency { f_mtc_userInitiateCall (v_ueA, v_infoPsap); // Event 1 // Test body - //f_mtc_userInitiateCall (v_ueA, v_userTelInfoB); - // TODO + f_mtc_check_TP_IC_IBCF_BYE_01(vc_vxlte_monitor_components.ic); // Event 4 + f_mtc_check_TP_MW_IBCF_BYE_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 5 + + f_mtc_check_TP_MW_PCSCF_ECO_BYE_02(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 7 + f_mtc_check_TP_GM_PCSCF_ECO_BYE_02(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 8 + + //Rx/Gx exchange after BYE was received at P-CSCF + f_mtc_check_TP_RX_PCSCF_STR_01(vc_vxlte_monitor_components.rx); // Event 9 + f_mtc_check_TP_GX_PCRF_RAR_02(vc_vxlte_monitor_components.gx, true); // Event 10 + f_mtc_check_TP_GX_PGW_RAA_03(vc_vxlte_monitor_components.gx); // Event 1 + f_mtc_check_TP_RX_PCRF_STA_01(vc_vxlte_monitor_components.rx); // Event 12 + + f_mtc_check_TP_GM_PCSCF_ECO_200OK_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 13 + f_mtc_check_TP_MW_PCSCF_ECO_200OK_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 14 + + f_mtc_check_TP_MW_PCSCF_ECO_200OK_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 18 + f_mtc_check_TP_IC_IBCF_2XXRESP_01(vc_vxlte_monitor_components.ic); // Event 19 f_mtc_userCheckCallTerminated(v_ueA); // Event 21 f_mtc_userCheckCallCancelled(v_psap); // Event 20 @@ -2477,7 +2552,7 @@ module AtsImsIot_Emergency { f_mtc_check_TP_GX_PGW_RAA_02(vc_vxlte_monitor_components.gx); // Event 26 f_mtc_check_TP_RX_PCRF_STA_01(vc_vxlte_monitor_components.rx); // Event 27 - f_mtc_check_TP_GM_PCSCF_480TEMPAV_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 28 + f_mtc_check_TP_GM_PCSCF_ECO_380ALTSRV_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 28 f_mtc_check_TP_GM_PCSCF_ECO_ACK_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 29 f_mtc_check_TP_MW_PCSCF_ECO_ACK_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 30 @@ -2584,7 +2659,7 @@ module AtsImsIot_Emergency { f_mtc_check_TP_GX_PGW_RAA_02(vc_vxlte_monitor_components.gx); // Event 26 f_mtc_check_TP_RX_PCRF_STA_01(vc_vxlte_monitor_components.rx); // Event 27 - f_mtc_check_TP_GM_PCSCF_480TEMPAV_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 28 + f_mtc_check_TP_GM_PCSCF_ECO_380ALTSRV_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 28 f_mtc_check_TP_GM_PCSCF_ECO_ACK_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 29 f_mtc_check_TP_MW_PCSCF_ECO_ACK_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 30 @@ -2691,7 +2766,7 @@ module AtsImsIot_Emergency { f_mtc_check_TP_GX_PGW_RAA_02(vc_vxlte_monitor_components.gx); // Event 26 f_mtc_check_TP_RX_PCRF_STA_01(vc_vxlte_monitor_components.rx); // Event 27 - f_mtc_check_TP_GM_PCSCF_480TEMPAV_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 28 + f_mtc_check_TP_GM_PCSCF_ECO_380ALTSRV_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 28 f_mtc_check_TP_GM_PCSCF_ECO_ACK_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 29 f_mtc_check_TP_MW_PCSCF_ECO_ACK_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 30 @@ -2728,7 +2803,7 @@ module AtsImsIot_Emergency { /** * @desc To demonstrate interaction between UE A and P-CSCF when an emergency session is rejected. - * @see ETSI TS 103 795-2 Clause 5.3.4.3 Emergency Session Reject + * @see ETSI TS 103 795-2 Clause 5.3.3.3 Emergency Session Reject - IMS not able to handle emergency sessions */ testcase TD_VoLTE_ECO_INT_REJ_02() runs on ImsTestCoordinator system IotSystemInterface { @@ -2765,7 +2840,7 @@ module AtsImsIot_Emergency { // Test body f_mtc_check_TP_GM_PCSCF_ECO_INVITE_01(vc_vxlte_monitor_components.gmA, -, v_sip); // INVITE Event 1 - f_mtc_check_TP_GM_PCSCF_480TEMPAV_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 2 + f_mtc_check_TP_GM_PCSCF_ECO_380ALTSRV_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 2 f_mtc_check_TP_GM_PCSCF_ACK_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 3 // Postamble @@ -2793,6 +2868,73 @@ module AtsImsIot_Emergency { } // End of group f_TD_VoLTE_ECO_INT_REJ_02 + /** + * @desc To demonstrate interaction between UE A and P-CSCF when an emergency session is rejected due to wrong urn + * @see ETSI TS 103 795-2 Clause 5.3.3.4 Emergency Session Reject – due to wrong urn + */ + testcase TD_VoLTE_ECO_INT_REJ_03() runs on ImsTestCoordinator system IotSystemInterface { + + var IotEquipmentUser v_ueA := f_cf_create_IotEquipmentUser ( c_userUE_A_emergency ); + var IotEquipmentUser v_psap := f_cf_create_IotEquipmentUser ( c_psap ); + var ImsUserInfo v_userInfoA := f_getImUser ( PX_EUT_A_EMERGENCY ); + var ImsUserInfo v_infoPsap := f_getImUser ( PX_PSAP ); + + f_setVxLteMonIterfacesAvailability(); + //Check required monitor interfaces due to TD + if (f_checkVxLteRequiredMonitorInterface({PX_SIP_GMA_INTERFACENAME, + PX_DIAMETER_GX_INTERFACENAME + })) + { + var SipMessage v_sip; + + f_cf_createVxLteMonitor(); + + // map/connect component ports + f_cf_adapter_up ( ); + f_cf_user_up ( v_ueA ); + f_cf_user_up ( v_psap ); + f_cf_VxLteMonitor_Up(); + + // Preamble + f_mtc_userRegistration(v_ueA, v_userInfoA); + if (PX_PSAP_REGISTERED) { + f_mtc_userRegistration(v_psap, v_infoPsap); + } else { + // TODO Check OPTIONS from PSAP to E-CSCF + } + f_mtc_check_precond_TD_VoLTE_ECO_INT_REJ_03(); + f_mtc_userInitiateCall (v_ueA, v_infoPsap); // Event 1 + + // Test body + f_mtc_check_TP_GM_PCSCF_ECO_INVITE_01(vc_vxlte_monitor_components.gmA, -, v_sip); // INVITE Event 1 + f_mtc_check_TP_GM_PCSCF_ECO_380ALTSRV_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 2 + f_mtc_check_TP_GM_PCSCF_ACK_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 3 + + // Postamble + f_PO_user_home_deregistration(v_ueA); + f_PO_user_home_deregistration(v_psap); + + //unmap/disconnect component ports + f_cf_user_down ( v_psap ); + f_cf_user_down ( v_ueA ); + f_cf_VxLteMonitor_Down(); + f_cf_adapter_down ( ); + }else{ + //log... + setverdict (inconc,"At least one required monitor interface SHALL be selected! Check PIXITs") + } + f_cf_adapter_down ( ); + } // End of TC TD_VoLTE_ECO_INT_REJ_03 + + group f_TD_VoLTE_ECO_INT_REJ_03 { + + function f_mtc_check_precond_TD_VoLTE_ECO_INT_REJ_03() runs on ImsTestCoordinator { + log("If the test case fails, please check the preconditions"); + // TODO Add real code to check pre-conditions + } // End of function f_mtc_check_precond_TD_VoLTE_ECO_INT_REJ_03 + + } // End of group f_TD_VoLTE_ECO_INT_REJ_03 + } // End of group EmergencySessionAbortOrReject } // End of group EmergencySessionEmergencyBearerOperations diff --git a/ttcn/AtsImsIot/AtsImsIot_TP_behavior_GM.ttcn b/ttcn/AtsImsIot/AtsImsIot_TP_behavior_GM.ttcn index 7dcd6f0..a9f530b 100644 --- a/ttcn/AtsImsIot/AtsImsIot_TP_behavior_GM.ttcn +++ b/ttcn/AtsImsIot/AtsImsIot_TP_behavior_GM.ttcn @@ -2958,6 +2958,44 @@ module AtsImsIot_TP_behavior_GM { } } // End of function f_mtc_check_TP_GM_PCSCF_BYE_02 + function f_mtc_check_TP_GM_PCSCF_ECO_BYE_02( + in SipInterfaceMonitor p_monitorCompRef, + in boolean p_checkMessage := false, + inout SipMessage p_sip + ) runs on ImsTestCoordinator { + if (isvalue(p_monitorCompRef)) { + // Check the BYE + p_monitorCompRef.start( + f_Iot_Sip_receive( + { mw_SipRequest(mw_TP_GM_PCSCF_BYE_02( + p_sip.request.msgHeader.callId, + -, // New CSeq + -, // FIXME To be set + { + fieldName := FROM_E, + addressField := p_sip.request.msgHeader.toField.addressField, + fromParams := * + }, //p_sip.request.msgHeader.fromField, + { + fieldName := TO_E, + addressField := p_sip.request.msgHeader.fromField.addressField, + toParams := * + } //p_sip.request.msgHeader.toField + )) + }, + { mw_SipRequest(mw_BYE_Request_Base) }, + { 0, omit }, + "TP_GM_PCSCF_ECO_BYE_02 - Request", + true, + p_checkMessage + ) + ); + p_monitorCompRef.done; + // Retrieve messge + f_getSipMsgFromMonitor(p_monitorCompRef, p_sip); + } + } // End of function f_mtc_check_TP_GM_PCSCF_ECO_BYE_02 + /** * @desc Verify that the P-CSCF successfully processes a BYE (Network initiated). * Initial conditions with { @@ -4149,6 +4187,64 @@ module AtsImsIot_TP_behavior_GM { } // End of group imsRequestTermination + group imsAlternateService { + + function f_mtc_check_TP_GM_PCSCF_ECO_380ALTSRV_01( + in SipInterfaceMonitor p_monitorCompRef, + in boolean p_checkMessage := false, + inout SipMessage p_sip + ) runs on ImsTestCoordinator { + if (isvalue(p_monitorCompRef)) { + // Check the 487 Request Terminated + p_monitorCompRef.start( + f_Iot_Sip_receive( + { + mw_SipResponse(mw_380AlternateService(p_sip.request.msgHeader.cSeq)) + }, + { + mw_SipResponse(mdw_3XX_Base) + }, + { 0, omit }, + "TP_GM_PCSCF_ECO_380ALTSRV_01", + true, + p_checkMessage + ) + ); + p_monitorCompRef.done; + // Retrieve messge + f_getSipMsgFromMonitor(p_monitorCompRef, p_sip); + } + } // End of function f_mtc_check_TP_GM_PCSCF_380ALTSRV_01 + + function f_mtc_check_TP_GM_PCSCF_ECO_380ALTSRV_02( + in SipInterfaceMonitor p_monitorCompRef, + in boolean p_checkMessage := false, + inout SipMessage p_sip + ) runs on ImsTestCoordinator { + if (isvalue(p_monitorCompRef)) { + // Check the 487 Request Terminated + p_monitorCompRef.start( + f_Iot_Sip_receive( + { + mw_SipResponse(mw_380AlternateService(p_sip.request.msgHeader.cSeq)) + }, + { + mw_SipResponse(mdw_3XX_Base) + }, + { 0, omit }, + "TP_GM_PCSCF_ECO_380ALTSRV_02", + true, + p_checkMessage + ) + ); + p_monitorCompRef.done; + // Retrieve messge + f_getSipMsgFromMonitor(p_monitorCompRef, p_sip); + } + } // End of function f_mtc_check_TP_GM_PCSCF_380ALTSRV_02 + + } // End of group imsTemporaryUnavailable + group imsTemporaryUnavailable { function f_mtc_check_TP_GM_PCSCF_480TEMPAV_01( diff --git a/ttcn/AtsImsIot/AtsImsIot_TP_behavior_MM.ttcn b/ttcn/AtsImsIot/AtsImsIot_TP_behavior_MM.ttcn index 8b7b62e..b029915 100644 --- a/ttcn/AtsImsIot/AtsImsIot_TP_behavior_MM.ttcn +++ b/ttcn/AtsImsIot/AtsImsIot_TP_behavior_MM.ttcn @@ -491,10 +491,10 @@ module AtsImsIot_TP_behavior_MM { * } */ function f_mtc_check_TP_MM_ECSCF_ECO_BYE_01( - in SipInterfaceMonitor p_monitorCompRef, - in boolean p_checkMessage := false, - inout SipMessage p_sip - ) runs on ImsTestCoordinator { + in SipInterfaceMonitor p_monitorCompRef, + in boolean p_checkMessage := false, + inout SipMessage p_sip + ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)) { // Check the BYE p_monitorCompRef.start( @@ -517,7 +517,7 @@ module AtsImsIot_TP_behavior_MM { }, { mw_SipRequest(mw_BYE_Request_Base) }, { 0, omit }, - "TP_MM_ECSCF_BYE_01 - Request", + "TP_MM_ECSCF_ECO_BYE_01 - Request", true, p_checkMessage ) @@ -528,6 +528,44 @@ module AtsImsIot_TP_behavior_MM { } } // End of function f_mtc_check_TP_MM_ECSCF_ECO_BYE_01 + function f_mtc_check_TP_MM_ECSCF_ECO_BYE_02( + in SipInterfaceMonitor p_monitorCompRef, + in boolean p_checkMessage := false, + inout SipMessage p_sip + ) runs on ImsTestCoordinator { + if (isvalue(p_monitorCompRef)) { + // Check the BYE + p_monitorCompRef.start( + f_Iot_Sip_receive( + { mw_SipRequest(mw_TP_MM_ECSCF_BYE_01( + p_sip.request.msgHeader.callId, + -, // New CSeq, + -, // FIXME To be set + { + fieldName := FROM_E, + addressField := p_sip.request.msgHeader.toField.addressField, + fromParams := * + }, //p_sip.request.msgHeader.fromField, + { + fieldName := TO_E, + addressField := p_sip.request.msgHeader.fromField.addressField, + toParams := * + } //p_sip.request.msgHeader.toField + )) + }, + { mw_SipRequest(mw_BYE_Request_Base) }, + { 0, omit }, + "TP_MM_ECSCF_ECO_BYE_02 - Request", + true, + p_checkMessage + ) + ); + p_monitorCompRef.done; + // Retrieve messge + f_getSipMsgFromMonitor(p_monitorCompRef, p_sip); + } + } // End of function f_mtc_check_TP_MM_ECSCF_ECO_BYE_02 + } // End of group imsBye group ims200OkBye { diff --git a/ttcn/AtsImsIot/AtsImsIot_TP_behavior_MW_EC.ttcn b/ttcn/AtsImsIot/AtsImsIot_TP_behavior_MW_EC.ttcn index 559f61d..e73f457 100644 --- a/ttcn/AtsImsIot/AtsImsIot_TP_behavior_MW_EC.ttcn +++ b/ttcn/AtsImsIot/AtsImsIot_TP_behavior_MW_EC.ttcn @@ -571,10 +571,10 @@ module AtsImsIot_TP_behavior_MW_EC { * } */ function f_mtc_check_TP_MW_PCSCF_ECO_BYE_01( - in SipInterfaceMonitor p_monitorCompRef, - in boolean p_checkMessage := false, - inout SipMessage p_sip - ) runs on ImsTestCoordinator { + in SipInterfaceMonitor p_monitorCompRef, + in boolean p_checkMessage := false, + inout SipMessage p_sip + ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)) { // Check the BYE p_monitorCompRef.start( @@ -589,7 +589,7 @@ module AtsImsIot_TP_behavior_MW_EC { }, { mw_SipRequest(mw_BYE_Request_Base) }, { 0, omit }, - "TP_MW_ECSCF_BYE_01 - Request", + "TP_MW_ECSCF_ECO_BYE_01 - Request", true, p_checkMessage ) @@ -600,6 +600,36 @@ module AtsImsIot_TP_behavior_MW_EC { } } // End of function f_mtc_check_TP_MW_PCSCF_ECO_BYE_01 + function f_mtc_check_TP_MW_PCSCF_ECO_BYE_02( + in SipInterfaceMonitor p_monitorCompRef, + in boolean p_checkMessage := false, + inout SipMessage p_sip + ) runs on ImsTestCoordinator { + if (isvalue(p_monitorCompRef)) { + // Check the BYE + p_monitorCompRef.start( + f_Iot_Sip_receive( + { mw_SipRequest(mw_TP_MW_ECSCF_BYE_01( + p_sip.request.msgHeader.callId, + -, // New CSeq + -, // FIXME To be set + p_sip.request.msgHeader.fromField, + p_sip.request.msgHeader.toField + )) + }, + { mw_SipRequest(mw_BYE_Request_Base) }, + { 0, omit }, + "TP_MW_ECSCF_ECO_BYE_02 - Request", + true, + p_checkMessage + ) + ); + p_monitorCompRef.done; + // Retrieve messge + f_getSipMsgFromMonitor(p_monitorCompRef, p_sip); + } + } // End of function f_mtc_check_TP_MW_PCSCF_ECO_BYE_02 + } // End of group imsBye group ims200OkBye { @@ -644,10 +674,10 @@ module AtsImsIot_TP_behavior_MW_EC { * } */ function f_mtc_check_TP_MW_PCSCF_ECO_200OK_BYE_01( - in SipInterfaceMonitor p_monitorCompRef, - in boolean p_checkMessage := false, - in SipMessage p_sip - ) runs on ImsTestCoordinator { + in SipInterfaceMonitor p_monitorCompRef, + in boolean p_checkMessage := false, + in SipMessage p_sip + ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)) { // Check the 200 OK BYE p_monitorCompRef.start( @@ -670,6 +700,33 @@ module AtsImsIot_TP_behavior_MW_EC { } } // End of function f_mtc_check_TP_MW_PCSCF_ECO_200OK_BYE_01 + function f_mtc_check_TP_MW_PCSCF_ECO_200OK_BYE_02( + in SipInterfaceMonitor p_monitorCompRef, + in boolean p_checkMessage := false, + in SipMessage p_sip + ) runs on ImsTestCoordinator { + if (isvalue(p_monitorCompRef)) { + // Check the 200 OK BYE + p_monitorCompRef.start( + f_Iot_Sip_receive( + { mw_SipResponse(mw_200OK( + p_sip.request.msgHeader.cSeq, + p_sip.request.msgHeader.callId, + p_sip.request.msgHeader.fromField, + p_sip.request.msgHeader.toField + )) + }, + { mw_SipResponse(mw_200OK_Base) }, + { 0, omit }, + "TP_MW_ECSCF_200OK_BYE_01", + false, + p_checkMessage + ) + ); + p_monitorCompRef.done; + } + } // End of function f_mtc_check_TP_MW_PCSCF_ECO_200OK_BYE_02 + } // End of group ims200OkBye group imsCancel { diff --git a/ttcn/AtsImsIot/AtsImsIot_Templates.ttcn b/ttcn/AtsImsIot/AtsImsIot_Templates.ttcn index 32db8f6..2ee78db 100644 --- a/ttcn/AtsImsIot/AtsImsIot_Templates.ttcn +++ b/ttcn/AtsImsIot/AtsImsIot_Templates.ttcn @@ -2278,6 +2278,18 @@ module AtsImsIot_Templates { } } // End of template mw_200OK + template Response mw_380AlternateService( + template (present) CSeq p_cSeq := ?, + template (present) CallId p_callId := ?, + template WwwAuthenticate p_wwwAuthenticate := * + ) modifies mdw_3XX_Base := { + msgHeader := { + cSeq := p_cSeq, + callId := p_callId, + wwwAuthenticate := p_wwwAuthenticate + } + } // End of template mw_380AlternateService + template Response mw_401Unauthorized( template (present) CSeq p_cSeq := ?, template (present) WwwAuthenticate p_wwwAuthenticate := ? -- GitLab From 426b0a2b25ecada6cdc0cab26809941d52df5b84 Mon Sep 17 00:00:00 2001 From: pintar Date: Fri, 1 Sep 2023 17:07:35 +0200 Subject: [PATCH 02/32] New TPs added for TDs --- test_purposes/E_CSCF/TP_E_CSCF.tplan2 | 343 +++++++++++++++++++++++--- test_purposes/Gm/TP_GM.tplan2 | 96 ++++++- test_purposes/Mw/TP_MW_PS.tplan2 | 136 +++++++++- test_purposes/Sip_Common.tplan2 | 1 + 4 files changed, 526 insertions(+), 50 deletions(-) diff --git a/test_purposes/E_CSCF/TP_E_CSCF.tplan2 b/test_purposes/E_CSCF/TP_E_CSCF.tplan2 index af50eee..8f99c15 100644 --- a/test_purposes/E_CSCF/TP_E_CSCF.tplan2 +++ b/test_purposes/E_CSCF/TP_E_CSCF.tplan2 @@ -218,6 +218,54 @@ Package TP_E_CSCF { } // End of TP_MM_ECSCF_ECO_INVITE_02 + Test Purpose { + + TP Id TP_MM_ECSCF_ECO_INVITE_03 + /* Mm interface at E-CSCF/IM CN subsystem of own network */ + + Test objective "Verify that the E-CSCF successfully processes an callback INVITE from PSAP over the IM CN subsystem of own network and routes the request to the P-CSCF." + + Reference + "ETSI TS 123 167 [1], Clause 4.1 item 12" + + Config Id CF_VoLTE_INT_ES + + PICS Selection NONE + + Initial conditions with { + the IMS_E_CSCF entity supportsRoutingTo the IM_CN + } + + Expected behaviour + ensure that { + when { + the IMS_E_CSCF entity receives an INVITE containing + From indicating value PX_PSAP_SIP_URI, + To indicating value PX_UE_A_SIP_URI, + CallId indicating value PX_PSAP_CALLID, + Via indicating value PX_P_CSCF_A_VIA, + Route indicating value PX_E_CSCF_SERVICE_ROUTE, // 5.2.10.3 1B) option is assumed + PAssertedIdentity, + MessageBody; + from the IM_CN entity + } + then { + the IMS_E_CSCF entity sends an INVITE containing + From indicating value PX_PSAP_SIP_URI, + To indicating value PX_UE_A_SIP_URI, + CallId indicating value PX_PSAP_CALLID, + Via indicating value PX_E_CSCF_VIA, + Route indicating value PX_PSAP_SERVICE_ROUTE_IM_CN, + RecordRoute PX_E_CSCF_SERVICE_ROUTE, + PChargingVector, + not PChargingFunctionAddresses, + MessageBody; + to the IMS_P_CSCF_A entity + } + } + + } // End of TP_MM_ECSCF_ECO_INVITE_03 + Test Purpose { TP Id TP_MX_ECSCF_ECO_INVITE_01 @@ -316,6 +364,56 @@ Package TP_E_CSCF { } // End of TP_MX_ECSCF_ECO_INVITE_02 + Test Purpose { + + TP Id TP_MX_ECSCF_ECO_INVITE_03 + /* Mx interface at E-CSCF/IBCF */ + + Test objective "Verify that the E-CSCF successfully processes a callback INVITE from the PSAP in another network over the IBCF and routes the request to the P-CSCF." + + Reference + "ETSI TS 123 167 [1], Clause 4.1 item 12" + + Config Id CF_VoLTE_INT_ES + + PICS Selection NONE + + Initial conditions with { + the IMS_E_CSCF entity supportsRoutingTo the IMS_IBCF_A + } + + Expected behaviour + ensure that { + when { + the IMS_E_CSCF entity receives an INVITE containing + From indicating value PX_PSAP_SIP_URI, + To indicating value PX_UE_A_SIP_URI, + CallId indicating value PX_PSAP_CALLID, + Via indicating value PX_P_CSCF_A_VIA, + Route indicating value PX_E_CSCF_SERVICE_ROUTE, // 5.2.10.3 1B) option is assumed + PAssertedIdentity, + MessageBody; + from the IMS_IBCF_A entity + } + then { + the IMS_E_CSCF entity sends an INVITE containing + From indicating value PX_PSAP_SIP_URI, + To indicating value PX_UE_A_SIP_URI, + CallId indicating value PX_PSAP_CALLID, + Via indicating value PX_E_CSCF_VIA, + Route indicating value PX_P_SCSF_SERVICE_ROUTE_IBCF, + RecordRoute PX_E_CSCF_SERVICE_ROUTE, + PChargingVector containing + not term_ioi_parameter, + orig_ioi_parameter + indicating value "Operator Identifier Of ImsA";, + MessageBody; + to the IMS_P_CSCF_A entity + } + } + + } // End of TP_MX_ECSCF_ECO_INVITE_03 + Test Purpose { TP Id TP_MI_ECSCF_ECO_INVITE_01 @@ -414,6 +512,57 @@ Package TP_E_CSCF { } // End of TP_MI_ECSCF_ECO_INVITE_02 + Test Purpose { + + TP Id TP_MI_ECSCF_ECO_INVITE_03 + /* Mx interface at E-CSCF/BGCF */ + + Test objective "Verify that the E-CSCF successfully processes a callback INVITE from PSAP in the PSTN over BGCF and routes the request to the P-CSCF." + + Reference + "ETSI TS 123 167 [1], Clause 4.1 item 12" + + Config Id CF_VoLTE_INT_ES + + PICS Selection NONE + + Initial conditions with { + the IMS_E_CSCF entity supportsRoutingTo the BGCF + } + + Expected behaviour + ensure that { + when { + the IMS_E_CSCF entity receives an INVITE containing + From indicating value PX_PSAP_TEL_URI,// see 5.11.2 6) b) + To indicating value PX_SIP_EMERGENCY_SERVICE_URN, + CallId indicating value PX_PSAP_CALLID, + Via indicating value PX_BGCF_VIA, + Route indicating value PX_E_CSCF_SERVICE_ROUTE, // 5.2.10.3 1B) option is assumed + PAssertedIdentity, + MessageBody; + from the IMS_BGCF_A entity + } + then { + the IMS_E_CSCF entity sends an INVITE containing + RequestLine indicating value PX_UE_A_SIP_URI, + From indicating value PX_PSAP_TEL_URI, + To indicating value PX_UE_A_SIP_URI, + CallId indicating value PX_PSAP_CALLID, + Via indicating value PX_E_CSCF_VIA, + Route indicating value PX_P_CSCD_SERVICE_ROUTE, + RecordRoute PX_E_CSCF_SERVICE_ROUTE, + PChargingVector containing + not term_ioi_parameter, + orig_ioi_parameter + indicating value "Operator Identifier Of ImsA";, + MessageBody; + to the IMS_P_CSCF_A entity + } + } + + } // End of TP_MI_ECSCF_ECO_INVITE_03 + Test Purpose { TP Id TP_MM_ECSCF_ECO_BYE_01 @@ -479,20 +628,18 @@ Package TP_E_CSCF { ensure that { when { the IMS_E_CSCF entity receives a BYE containing - From indicating value PX_UE_A_SIP_URI, - To indicating value PX_SIP_EMERGENCY_SERVICE_URN, - CallId indicating value PX_UE_A_CALLID, - Via indicating value PX_UE_A_VIA, - Route indicating value PX_UE_A_SERVICE_ROUTE; + From indicating value PX_PSAP_SIP_URI, + To indicating value PX_UE_A_SIP_URI, + CallId indicating value PX_PSAP_CALLID, + Via indicating value PX_PSAP_VIA; from the IM_CN entity } then { the IMS_E_CSCF entity sends a BYE containing - From indicating value PX_UE_A_SIP_URI, - To indicating value PX_SIP_EMERGENCY_SERVICE_URN, - CallId indicating value PX_UE_A_CALLID, - Via indicating value PX_UE_A_VIA, - Route indicating value PX_UE_A_SERVICE_ROUTE; + From indicating value PX_PSAP_SIP_URI, + To indicating value PX_UE_A_SIP_URI, + CallId indicating value PX_PSAP_CALLID, + Via indicating value PX_PSAP_VIA; to the IMS_P_CSCF_A entity } } @@ -565,20 +712,18 @@ Package TP_E_CSCF { ensure that { when { the IMS_E_CSCF entity receives a BYE containing - From indicating value PX_UE_A_SIP_URI, - To indicating value PX_SIP_EMERGENCY_SERVICE_URN, - CallId indicating value PX_UE_A_CALLID, - Via indicating value PX_UE_A_VIA, - Route indicating value PX_UE_A_SERVICE_ROUTE; + From indicating value PX_PSAP_SIP_URI, + To indicating value PX_UE_A_SIP_URI, + CallId indicating value PX_PSAP_CALLID, + Via indicating value PX_PSAP_VIA; from the IMS_IBCF_A entity } then { the IMS_E_CSCF entity sends a BYE containing - From indicating value PX_UE_A_SIP_URI, - To indicating value PX_SIP_EMERGENCY_SERVICE_URN, - CallId indicating value PX_UE_A_CALLID, - Via indicating value PX_UE_A_VIA, - Route indicating value PX_UE_A_SERVICE_ROUTE; + From indicating value PX_PSAP_SIP_URI, + To indicating value PX_UE_A_SIP_URI, + CallId indicating value PX_PSAP_CALLID, + Via indicating value PX_PSAP_VIA; to the IMS_P_CSCF_A entity } } @@ -651,20 +796,18 @@ Package TP_E_CSCF { ensure that { when { the IMS_E_CSCF entity receives a BYE containing - From indicating value PX_UE_A_SIP_URI, - To indicating value PX_SIP_EMERGENCY_SERVICE_URN, - CallId indicating value PX_UE_A_CALLID, - Via indicating value PX_UE_A_VIA, - Route indicating value PX_UE_A_SERVICE_ROUTE; + From indicating value PX_PSAP_SIP_URI, + To indicating value PX_UE_A_SIP_URI, + CallId indicating value PX_PSAP_CALLID, + Via indicating value PX_PSAP_VIA; from the IMS_BGCF_A entity } then { the IMS_E_CSCF entity sends a BYE containing - From indicating value PX_UE_A_SIP_URI, - To indicating value PX_SIP_EMERGENCY_SERVICE_URN, - CallId indicating value PX_UE_A_CALLID, - Via indicating value PX_UE_A_VIA, - Route indicating value PX_UE_A_SERVICE_ROUTE; + From indicating value PX_PSAP_SIP_URI, + To indicating value PX_UE_A_SIP_URI, + CallId indicating value PX_PSAP_CALLID, + Via indicating value PX_PSAP_VIA; to the IMS_P_CSCF_A entity } } @@ -673,7 +816,7 @@ Package TP_E_CSCF { Test Purpose { - TP Id TP_MM_ECSCF_ECO_CANCEL_01 + TP Id TP_MM_ECSCF_EMC_CANCEL_01 /* Mm interface at E-CSCF/IM CN subsystem of own network */ Test objective "Verify that the E-CSCF successfully processes a CANCEL from the P-CSCF for an Emergency Call under establishment and routes the request to the PSAP in the IM CN subsystem of own network." @@ -712,11 +855,11 @@ Package TP_E_CSCF { } } - } // End of TP_MM_ECSCF_ECO_CANCEL_01 + } // End of TP_MM_ECSCF_EMC_CANCEL_01 Test Purpose { - TP Id TP_MX_ECSCF_ECO_CANCEL_01 + TP Id TP_MX_ECSCF_EMC_CANCEL_01 /* Mx interface at E-CSCF/IBCF */ Test objective "Verify that the E-CSCF successfully processes a CANCEL from the P-CSCF for an Emergency Call under establishment and routes the request to the IBCF for a PSAP in another network." @@ -755,11 +898,11 @@ Package TP_E_CSCF { } } - } // End of TP_MX_ECSCF_ECO_CANCEL_01 + } // End of TP_MX_ECSCF_EMC_CANCEL_01 Test Purpose { - TP Id TP_MI_ECSCF_ECO_CANCEL_01 + TP Id TP_MI_ECSCF_EMC_CANCEL_01 /* Mx interface at E-CSCF/BGCF */ Test objective "Verify that the E-CSCF successfully processes a CANCEL from the P-CSCF for an Emergency Call under establishment and routes the request to the BGCF for a PSAP in the PSTN." @@ -798,7 +941,7 @@ Package TP_E_CSCF { } } - } // End of TP_MI_ECSCF_ECO_CANCEL_01 + } // End of TP_MI_ECSCF_EMC_CANCEL_01 Test Purpose { @@ -927,6 +1070,134 @@ Package TP_E_CSCF { } } // End of TP_MI_ECSCF_ECO_480INVITE_01 + + Test Purpose { + + TP Id TP_MM_ECSCF_EMC_487INVITE_01 + /* Mm interface at E-CSCF/IM CN subsystem of own network */ + Test objective "Verify that the E-CSCF successfully processes a 487 response from the PSAP in the IM CN subsystem for an Emergency Call and routes the response to the P-CSCF of home network." + + Reference + "ETSI TS 124 229 [1], Clauses 5.11.2" + + Config Id CF_VxLTE_INT + + PICS Selection NONE + + Initial conditions with { + the IMS_E_CSCF entity supportsRoutingTo the IM_CN and + the UE_A entity previouslyEstablishedEmergencyCallWith the PSAP + } + + Expected behaviour + ensure that { + when { + the IMS_E_CSCF entity receives a 487INVITE containing + From indicating value PX_UE_A_SIP_URI, + To indicating value PX_SIP_EMERGENCY_SERVICE_URN, + CallId indicating value PX_UE_A_CALLID, + Via indicating value PX_UE_A_VIA, + Route indicating value PX_UE_A_SERVICE_ROUTE; + from the IM_CN entity + } + then { + the IMS_E_CSCF entity sends a 487INVITE containing + From indicating value PX_UE_A_SIP_URI, + To indicating value PX_SIP_EMERGENCY_SERVICE_URN, + CallId indicating value PX_UE_A_CALLID, + Via indicating value PX_UE_A_VIA, + Route indicating value PX_UE_A_SERVICE_ROUTE; + to the IMS_P_CSCF_A entity + } + } + + } // End of TP_MM_ECSCF_EMC_487INVITE_01 + + Test Purpose { + + TP Id TP_MX_ECSCF_EMC_487INVITE_01 + /* Mx interface at E-CSCF/IBCF */ + + Test objective "Verify that the E-CSCF successfully processes a 487 response from the IBCF for a PSAP in another network for an Emergency Call and routes the response to the P-CSCF." + + Reference + "ETSI TS 124 229 [1], Clauses 5.11.2" + + Config Id CF_VoLTE_INT_ES + + PICS Selection NONE + + Initial conditions with { + the IMS_E_CSCF entity supportsRoutingTo the IMS_IBCF_A and + the UE_A entity previouslyEstablishedEmergencyCallWith the PSA via IMS_IBCF_A + } + + Expected behaviour + ensure that { + when { + the IMS_E_CSCF entity receives a 487INVITE containing + From indicating value PX_UE_A_SIP_URI, + To indicating value PX_SIP_EMERGENCY_SERVICE_URN, + CallId indicating value PX_UE_A_CALLID, + Via indicating value PX_UE_A_VIA, + Route indicating value PX_UE_A_SERVICE_ROUTE; + from the IMS_IBCF_A entity + } + then { + the IMS_E_CSCF entity sends a 487INVITE containing + From indicating value PX_UE_A_SIP_URI, + To indicating value PX_SIP_EMERGENCY_SERVICE_URN, + CallId indicating value PX_UE_A_CALLID, + Via indicating value PX_UE_A_VIA, + Route indicating value PX_UE_A_SERVICE_ROUTE; + to the IMS_P_CSCF_A entity + } + } + + } // End of TP_MX_ECSCF_EMC_487INVITE_01 + + Test Purpose { + + TP Id TP_MI_ECSCF_EMC_487INVITE_01 + /* Mx interface at E-CSCF/BGCF */ + + Test objective "Verify that the E-CSCF successfully processes a 487 response from the BGCF for a PSAP in the PSTN for an Emergency Call and routes the response to the P-CSCF." + + Reference + "ETSI TS 124 229 [1], Clauses 5.11.2" + + Config Id CF_VoLTE_INT_ES + + PICS Selection NONE + + Initial conditions with { + the IMS_E_CSCF entity supportsRoutingTo the BGCF and + the UE_A entity previouslyEstablishedEmergencyCallWith the PSAP via IMS_BGCF_A + } + + Expected behaviour + ensure that { + when { + the IMS_E_CSCF entity receives a 487INVITE containing + From indicating value PX_UE_A_SIP_URI, + To indicating value PX_SIP_EMERGENCY_SERVICE_URN, + CallId indicating value PX_UE_A_CALLID, + Via indicating value PX_UE_A_VIA, + Route indicating value PX_UE_A_SERVICE_ROUTE; + from the IMS_BGCF_A entity + } + then { + the IMS_E_CSCF entity sends a 487INVITE containing + From indicating value PX_UE_A_SIP_URI, + To indicating value PX_SIP_EMERGENCY_SERVICE_URN, + CallId indicating value PX_UE_A_CALLID, + Via indicating value PX_UE_A_VIA, + Route indicating value PX_UE_A_SERVICE_ROUTE; + to the IMS_P_CSCF_A entity + } + } + + } // End of TP_MI_ECSCF_EMC_487INVITE_01 } // End of Package TP_E_CSCF diff --git a/test_purposes/Gm/TP_GM.tplan2 b/test_purposes/Gm/TP_GM.tplan2 index 55cb9a5..5abe649 100644 --- a/test_purposes/Gm/TP_GM.tplan2 +++ b/test_purposes/Gm/TP_GM.tplan2 @@ -461,7 +461,7 @@ Package TP_GM { Test Purpose { - TP Id TP_GM_PCSCF_ECO_CANCEL_01 + TP Id TP_GM_PCSCF_EMC_CANCEL_01 Test objective "Verify that the P-CSCF successfully processes a CANCEL during Emergency Call establishment." @@ -494,7 +494,7 @@ Package TP_GM { } } - } // End of TP_GM_PCSCF_ECO_CANCEL_01 + } // End of TP_GM_PCSCF_EMC_CANCEL_01 Test Purpose { @@ -518,20 +518,20 @@ Package TP_GM { ensure that { when { the IMS_P_CSCF_A entity sends a 200_Ok containing - From indicating value PX_UE_B_SIP_URI, + From indicating value PX_PSAP_SIP_URI, To indicating value PX_UE_A_SIP_URI, - CallId indicating value PX_UE_B_CALLID, - Via indicating value PX_UE_B_VIA, - Route indicating value PX_UE_B_SERVICE_ROUTE; + CallId indicating value PX_PSAP_CALLID, + Via indicating value PX_PSAP_VIA, + Route indicating value PX_PSAP_SERVICE_ROUTE; from the IMS_E_CSCF entity } then { the IMS_P_CSCF_A entity sends a 200_Ok containing - From indicating value PX_UE_B_SIP_URI, + From indicating value PX_PSAP_SIP_URI, To indicating value PX_UE_A_SIP_URI, - CallId indicating value PX_UE_B_CALLID, - Via indicating value PX_UE_B_VIA, - Route indicating value PX_UE_B_SERVICE_ROUTE, + CallId indicating value PX_PSAP_CALLID, + Via indicating value PX_PSAP_VIA, + Route indicating value PX_PSAP_SERVICE_ROUTE, not PChargingVector, not PChargingFunctionAddresses, not PPreferredIdentity; @@ -564,7 +564,7 @@ Package TP_GM { when { the IMS_P_CSCF_A entity receives a 200_Ok containing From indicating value PX_UE_A_SIP_URI, - To indicating value PX_UE_B_SIP_URI, + To indicating value PX_PSAP_SIP_URI, CallId indicating value PX_UE_A_CALLID, Via indicating value PX_UE_A_VIA, Route indicating value PX_UE_A_SERVICE_ROUTE, @@ -576,7 +576,7 @@ Package TP_GM { then { the IMS_P_CSCF_A entity sends a 200_Ok containing From indicating value PX_UE_A_SIP_URI, - To indicating value PX_UE_B_SIP_URI, + To indicating value PX_PSAP_SIP_URI, CallId indicating value PX_UE_A_CALLID, Via indicating value PX_UE_A_VIA, Route indicating value PX_UE_A_SERVICE_ROUTE; @@ -585,6 +585,78 @@ Package TP_GM { } } // End of TP_GM_PCSCF_ECO_200OK_02 + + Test Purpose { + + TP Id TP_GM_PCSCF_EMS_200OK_CANCEL_01 + // TP_GM_PCSCF_200OK_CANCEL_01 from ETSI TS 103 653-1 + + Test objective "Verify that the P-CSCF successfully processes a 200 (OK) CANCEL (Originating Leg)." + + Reference + "ETSI TS 124 229 [1], Clauses 5.1.3 and 6.1" + + Config Id CF_VoLTE_INT_ES + + PICS Selection NONE + + Initial conditions with { + the UE_A entity isAttachedTo the EPC_A and + the UE_A entity isRegisteredTo the IMS_A + } + + Expected behaviour + ensure that { + when { + the UE_A entity isRequestedToSend a CANCEL + } + then { + the IMS_P_CSCF_A entity receives a 200_Ok containing + not PChargingVector, + not PChargingFunctionAddresses, + not PPreferredIdentity; + from the IMS_E_CSCF entity + } + } + + } // End of TP_GM_PCSCF_EMS_200OK_CANCEL_01 + + Test Purpose { + + TP Id TP_GM_PCSCF_EMC_487INVITE_01 + // TP_GM_PCSCF_487INVITE_01 from ETSI TS 103 653-1 + + Test objective "Verify that the P-CSCF successfully processes a 487 INVITE (Request Terminated) (Originating Leg)." + + Reference + "ETSI TS 124 229 [1], Clauses 5.1.3 and 6.1" + + Config Id CF_VoLTE_INT_ES + + PICS Selection NONE + + Initial conditions with { + the UE_A entity isAttachedTo the EPC_A and + the UE_A entity isRegisteredTo the IMS_A + } + + Expected behaviour + ensure that { + when { + the UE_A entity isRequestedToSend an CANCEL + } + then { + the IMS_P_CSCF_A entity sends a 487_INVITE containing + From indicating value PX_PSAP_SIP_URI, + To indicating value PX_UE_A_SIP_URI, + CallId indicating value PX_PSAP_CALLID, + Via indicating value PX_PSAP_VIA, + Route indicating value PX_PSAP_SERVICE_ROUTE; + to the UE_A entity + } + } + + } // End of TP_GM_PCSCF_EMC_487INVITE_01 } // End of Package TP_GM diff --git a/test_purposes/Mw/TP_MW_PS.tplan2 b/test_purposes/Mw/TP_MW_PS.tplan2 index 45b0645..b049914 100644 --- a/test_purposes/Mw/TP_MW_PS.tplan2 +++ b/test_purposes/Mw/TP_MW_PS.tplan2 @@ -396,6 +396,52 @@ Package TP_MW_PS { } // End of TP_MW_PCSCF_ECO_INVITE_04 + Test Purpose { + + TP Id TP_MW_PCSCF_ECO_INVITE_05 + + Test objective "Verify that the E-CSCF successfully processes a callback INVITE from PSAP towards P-CSCF." + + Reference + "ETSI TS 124 229 [1], Clauses 5.2.10.3 and 5.2.6.3.3" + + Config Id CF_VoLTE_INT_ES + + PICS Selection NONE + + Initial conditions with { + the UE_A entity isEmergencyAttachedTo the EPC_A and + the UE_A entity isEmergencyRegisteredTo the IMS_A + } + + Expected behaviour + ensure that { + when { + the IMS_P_CSCF_A entity receives an INVITE containing + From indicating value PX_PSAP_SIP_URI, + To indicating value PX_UE_A_SIP_URI, + CallId indicating value PX_PSAP_CALLID, + Via indicating value PX_PSAP_VIA, + Route indicating value PX_P_CSCF_SERVICE_ROUTE, // 5.2.10.3 1B) option is assumed + PAssertedIdentity, + MessageBody; + from the IMS_E_CSCF entity + } + then { + the IMS_P_CSCF_A entity sends an INVITE containing + From indicating value PX_PSAP_SIP_URI, + To indicating value PX_UE_A_SIP_URI, + CallId indicating value PX_PSAP_CALLID, + Via indicating value PX_P_CSCF_A_VIA, + Route indicating value PX_UE_A_SERVICE_ROUTE, + PPreferredIdentity, // one or two instances + MessageBody; + to the UE_A entity + } + } + + } // End of TP_MW_PCSCF_ECO_INVITE_05 + Test Purpose { TP Id TP_MW_PCSCF_ECO_480INVITE_01 @@ -593,7 +639,7 @@ Package TP_MW_PS { Test Purpose { - TP Id TP_MW_PCSCF_ECO_CANCEL_01 + TP Id TP_MW_PCSCF_EMC_CANCEL_01 Test objective "Verify that the P-CSCF successfully processes a CANCEL during Emergency Call establishment." @@ -633,7 +679,93 @@ Package TP_MW_PS { } } - } // End of TP_MW_PCSCF_ECO_CANCEL_01 + } // End of TP_MW_PCSCF_EMC_CANCEL_01 + + Test Purpose { + + TP Id TP_MW_PCSCF_EMC_200OK_CANCEL_01 + + Test objective "Verify that the P-CSCF successfully processes a 200 (OK) CANCEL (Originating Leg)." + + Reference + "ETSI TS 124 229 [1], clauses 5.2.7 and 6.2" + + Config Id CF_VoLTE_INT_ES + + PICS Selection NONE + + Initial conditions with { + the UE_A entity isAttachedTo the EPC_A and + the UE_A entity isRegisteredTo the IMS_A + } + + Expected behaviour + ensure that { + when { + the IMS_P_CSCF_A entity receives a 200_Ok containing + From indicating value PX_PSAP_SIP_URI, + To indicating value PX_UE_A_SIP_URI, + CallId indicating value PX_PSAP_CALLID, + Via indicating value PX_PSAP_VIA, + Route indicating value PX_PSAP_SERVICE_ROUTE; + from the IMS_E_CSCF entity + } + then { + the IMS_P_CSCF_A entity sends a 200_Ok containing + From indicating value PX_PSAP_SIP_URI, + To indicating value PX_UE_A_SIP_URI, + CallId indicating value PX_PSAP_CALLID, + Via indicating value PX_PSAP_VIA, + Route indicating value PX_PSAP_SERVICE_ROUTE; + to the UE_A entity + } + } + + } // End of TP_MW_PCSCF_EMC_200OK_CANCEL_01 + + Test Purpose { + + TP Id TP_MW_PCSCF_EMC_487INVITE_01 + // TP_MW_PCSCF_487INVITE_01 from ETSI TS 103 653-1 + + Test objective "Verify that the P-CSCF successfully processes a 487 INVITE (Request Terminated) to reject call (Originating Leg)." + + Reference + "ETSI TS 124 229 [1], clauses 5.2.7 and 6.2" + + Config Id CF_VoLTE_INT_ES + + PICS Selection NONE + + Initial conditions with { + the UE_A entity isAttachedTo the EPC_A and + the UE_A entity isRegisteredTo the IMS_A and + the UE_A entity isRequestedToSend a CANCEL + } + + Expected behaviour + ensure that { + when { + the IMS_P_CSCF_A entity receives a 487_INVITE containing + From indicating value PX_PSAP_SIP_URI, + To indicating value PX_UE_A_SIP_URI, + CallId indicating value PX_PSAP_CALLID, + Via indicating value PX_PSAP_VIA, + Route indicating value PX_PSAP_SERVICE_ROUTE; + from the IMS_E_CSCF entity + } + then { + the IMS_P_CSCF_A entity sends a 487_INVITE containing + From indicating value PX_PSAP_SIP_URI, + To indicating value PX_UE_A_SIP_URI, + CallId indicating value PX_PSAP_CALLID, + Via indicating value PX_PSAP_VIA, + Route indicating value PX_PSAP_SERVICE_ROUTE; + to the UE_A entity + } + } + + } // End of TP_MW_PCSCF_EMC_487INVITE_01 } // End of Package TP_MW_PS diff --git a/test_purposes/Sip_Common.tplan2 b/test_purposes/Sip_Common.tplan2 index c593bf4..e14773e 100644 --- a/test_purposes/Sip_Common.tplan2 +++ b/test_purposes/Sip_Common.tplan2 @@ -109,6 +109,7 @@ Package Sip_Common { - hasAchievedINVITE - hasSentINVITETo - supportsRoutingTo + - supportsCallbackTo ; } // End of Domain section -- GitLab From 3847892632b50ba76fd2b9f40183a72578f55062 Mon Sep 17 00:00:00 2001 From: garciay Date: Fri, 15 Sep 2023 10:37:04 +0200 Subject: [PATCH 03/32] Review of TTCN-3 implementation & templates of all emergency TPs for the SIP part --- test_purposes/Gm/TP_GM.tplan2 | 10 +- ttcn/AtsImsIot/AtsImsIot_Emergency.ttcn | 40 +- ttcn/AtsImsIot/AtsImsIot_PIXITS.ttcn | 5 + ttcn/AtsImsIot/AtsImsIot_TP_behavior_GM.ttcn | 615 +++++++++++++++--- .../AtsImsIot_TP_behavior_MW_PS.ttcn | 6 +- ttcn/AtsImsIot/AtsImsIot_Templates.ttcn | 91 ++- ttcn/AtsImsIot/AtsImsIot_Templates_GM.ttcn | 71 +- ttcn/AtsImsIot/AtsImsIot_TypesAndValues.ttcn | 2 +- 8 files changed, 730 insertions(+), 110 deletions(-) diff --git a/test_purposes/Gm/TP_GM.tplan2 b/test_purposes/Gm/TP_GM.tplan2 index 5abe649..27d8105 100644 --- a/test_purposes/Gm/TP_GM.tplan2 +++ b/test_purposes/Gm/TP_GM.tplan2 @@ -54,7 +54,7 @@ Package TP_GM { not term_ioi, not SecurityClient, Contact indicating value "sos";; - to the UE_A entity + from the UE_A entity } then { the IMS_P_CSCF_A entity sends a 401_Unauthorized containing @@ -163,7 +163,7 @@ Package TP_GM { Via indicating value PX_UE_A_VIA, Authorization indicating value "Invalid credentials", Contact indicating value "sos"; - to the UE_A entity + from the UE_A entity } then { the IMS_P_CSCF_A entity sends a 403_Forbiden containing @@ -171,7 +171,7 @@ Package TP_GM { To indicating value PX_UE_A_SIP_URI, CallId indicating value PX_UE_A_CALLID, Via indicating value PX_UE_A_VIA; - from the UE_A entity + to the UE_A entity } } } // End of TP_GM_PCSCF_ECO_REGISTER_03 @@ -204,7 +204,7 @@ Package TP_GM { Via indicating value PX_UE_A_VIA, Authorization not indicating value GPRS_IMS_Bundled_authentication, Contact indicating value "sos"; - to the UE_A entity + from the UE_A entity } then { the IMS_P_CSCF_B entity sends a 403_Forbidden containing @@ -215,7 +215,7 @@ Package TP_GM { MessageBody containing XML containing ims_3gpp_element indicating value anonymous_emergencycall;;; - from the UE_A entity + to the UE_A entity } } } // End of TP_GM_PCSCF_ECO_REGISTER_04 diff --git a/ttcn/AtsImsIot/AtsImsIot_Emergency.ttcn b/ttcn/AtsImsIot/AtsImsIot_Emergency.ttcn index 2afa111..3a56e3f 100644 --- a/ttcn/AtsImsIot/AtsImsIot_Emergency.ttcn +++ b/ttcn/AtsImsIot/AtsImsIot_Emergency.ttcn @@ -256,7 +256,7 @@ module AtsImsIot_Emergency { f_mtc_check_TP_MW_PCSCF_ECO_REGISTER_03(vc_vxlte_monitor_components.mwPI); // Events 14, 21 f_mtc_check_TP_MW_ICSCF_REGISTER_03(vc_vxlte_monitor_components.mwIS, true); // Event 17, 20 - f_mtc_check_TP_CX_HSS_ECO_ECO_UAA_02(f_getCxInterface(PX_DIAMETER_CX_SINGLE_INTERFACE));// Event 15, 16 + f_mtc_check_TP_CX_HSS_ECO_UAA_02(f_getCxInterface(PX_DIAMETER_CX_SINGLE_INTERFACE));// Event 15, 16 f_mtc_check_TP_CX_HSS_SAA_01(vc_vxlte_monitor_components.cxSH);// Event 18, 19 // postamble @@ -323,7 +323,11 @@ module AtsImsIot_Emergency { f_mtc_check_precond_TD_VoLTE_ECO_INT_INI_01(); // Test body - f_mtc_check_TP_GM_PCSCF_ECO_INVITE_02(vc_vxlte_monitor_components.gmA, -, v_sip); // INVITE Event 1 + if (not PX_ECALL) { + f_mtc_check_TP_GM_PCSCF_ECO_INVITE_02(vc_vxlte_monitor_components.gmA, -, v_sip); // INVITE Event 1 + } else { + f_mtc_check_TP_GM_PCSCF_ECO_INVITE_04(vc_vxlte_monitor_components.gmA, -, v_sip); // INVITE Event 1 + } f_mtc_check_TP_GM_PCSCF_ECO_100Trying_01(vc_vxlte_monitor_components.gmA, -, v_sip); //Rx/Gx exchange after INVITE (SDP) was received at P-CSCF @@ -669,9 +673,11 @@ module AtsImsIot_Emergency { f_mtc_userInitiateCall (v_ueA, v_infoPsap); // Event 1 // Test body - //f_mtc_userInitiateCall (v_ueA, v_userTelInfoB); - - f_mtc_check_TP_GM_PCSCF_ECO_INVITE_02(vc_vxlte_monitor_components.gmA, -, v_sip); // INVITE Event 1 + if (not(PX_ECALL)) { + f_mtc_check_TP_GM_PCSCF_ECO_INVITE_02(vc_vxlte_monitor_components.gmA, -, v_sip); // INVITE Event 1 + } else { + f_mtc_check_TP_GM_PCSCF_ECO_INVITE_04(vc_vxlte_monitor_components.gmA, -, v_sip); // INVITE Event 1 + } f_mtc_check_TP_GM_PCSCF_ECO_100Trying_01(vc_vxlte_monitor_components.gmA, -, v_sip); //Rx/Gx exchange after INVITE (SDP) was received at P-CSCF @@ -792,7 +798,11 @@ module AtsImsIot_Emergency { // Test body //f_mtc_userInitiateCall (v_ueA, v_userTelInfoB); - f_mtc_check_TP_GM_PCSCF_ECO_INVITE_02(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 1 + if (not(PX_ECALL)) { + f_mtc_check_TP_GM_PCSCF_ECO_INVITE_02(vc_vxlte_monitor_components.gmA, -, v_sip); // INVITE Event 1 + } else { + f_mtc_check_TP_GM_PCSCF_ECO_INVITE_04(vc_vxlte_monitor_components.gmA, -, v_sip); // INVITE Event 1 + } f_mtc_check_TP_GM_PCSCF_ECO_100Trying_01(vc_vxlte_monitor_components.gmA, -, v_sip); //Rx/Gx exchange after INVITE (SDP) was received at P-CSCF @@ -922,7 +932,11 @@ module AtsImsIot_Emergency { // Test body //f_mtc_userInitiateCall (v_ueA, v_userTelInfoB); - f_mtc_check_TP_GM_PCSCF_ECO_INVITE_02(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 1 + if (not(PX_ECALL)) { + f_mtc_check_TP_GM_PCSCF_ECO_INVITE_02(vc_vxlte_monitor_components.gmA, -, v_sip); // INVITE Event 1 + } else { + f_mtc_check_TP_GM_PCSCF_ECO_INVITE_04(vc_vxlte_monitor_components.gmA, -, v_sip); // INVITE Event 1 + } f_mtc_check_TP_GM_PCSCF_ECO_100Trying_01(vc_vxlte_monitor_components.gmA, -, v_sip); //Rx/Gx exchange after INVITE (SDP) was received at P-CSCF @@ -1054,7 +1068,11 @@ module AtsImsIot_Emergency { f_mtc_userInitiateCall (v_ueA, v_infoPsap); // Event 1 // Test body - f_mtc_check_TP_GM_PCSCF_INVITE_02(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 1 + if (not(PX_ECALL)) { + f_mtc_check_TP_GM_PCSCF_ECO_INVITE_02(vc_vxlte_monitor_components.gmA, -, v_sip); // INVITE Event 1 + } else { + f_mtc_check_TP_GM_PCSCF_ECO_INVITE_04(vc_vxlte_monitor_components.gmA, -, v_sip); // INVITE Event 1 + } f_mtc_check_TP_GM_PCSCF_ECO_100Trying_01(vc_vxlte_monitor_components.gmA, -, v_sip); //Rx/Gx exchange after INVITE (SDP) was received at P-CSCF @@ -1176,7 +1194,11 @@ module AtsImsIot_Emergency { // Test body - f_mtc_check_TP_GM_PCSCF_INVITE_02(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 1 + if (not(PX_ECALL)) { + f_mtc_check_TP_GM_PCSCF_ECO_INVITE_02(vc_vxlte_monitor_components.gmA, -, v_sip); // INVITE Event 1 + } else { + f_mtc_check_TP_GM_PCSCF_ECO_INVITE_04(vc_vxlte_monitor_components.gmA, -, v_sip); // INVITE Event 1 + } f_mtc_check_TP_GM_PCSCF_ECO_100Trying_01(vc_vxlte_monitor_components.gmA, -, v_sip); //Rx/Gx exchange after INVITE (SDP) was received at P-CSCF diff --git a/ttcn/AtsImsIot/AtsImsIot_PIXITS.ttcn b/ttcn/AtsImsIot/AtsImsIot_PIXITS.ttcn index 02bda0b..b862a52 100644 --- a/ttcn/AtsImsIot/AtsImsIot_PIXITS.ttcn +++ b/ttcn/AtsImsIot/AtsImsIot_PIXITS.ttcn @@ -27,6 +27,11 @@ group SUT_CONF { * @desc Set to true of PSAP shall be registered to the IMS */ modulepar boolean PX_PSAP_REGISTERED := true; + + /** + * @desc Set to true if the emergency call is an issued by an eCall + */ + modulepar boolean PX_ECALL := false; } // end group SUT_CONF diff --git a/ttcn/AtsImsIot/AtsImsIot_TP_behavior_GM.ttcn b/ttcn/AtsImsIot/AtsImsIot_TP_behavior_GM.ttcn index a9f530b..ac59884 100644 --- a/ttcn/AtsImsIot/AtsImsIot_TP_behavior_GM.ttcn +++ b/ttcn/AtsImsIot/AtsImsIot_TP_behavior_GM.ttcn @@ -224,33 +224,31 @@ module AtsImsIot_TP_behavior_GM { * @desc Verify that the P-CSCF successfully processes a first registration (Successful) * Initial conditions with { * the UE_A entity isAttachedTo the EPC_A and - * the UE_A entity isNotRegisteredTo the IMS_A and - * the UE_B entity isNotRegisteredTo the IMS_B + * the UE_A entity not isRegisteredTo the IMS_A * } * * Expected behaviour * ensure that { * when { - * the UE_A entity isTriggeredToStart - * } - * then { - * the UE_A entity sends a REGISTER containing + * the IMS_P_CSCF_A entity receives a REGISTER containing * From indicating value PX_UE_A_SIP_URI, * To indicating value PX_UE_A_SIP_URI, * CallId indicating value PX_UE_A_CALLID, * Via indicating value PX_UE_A_VIA, - * Authorization containing - * Authentication_Schema indicating value PX_TO_BE_DEFINED, - * Authentication_URI indicating value PX_TO_BE_DEFINED, - * Username indicating value PX_UE_A_USERNAME, + * Path, + * Warning, + * WwwAuthenticate containing + * Digest,, * Realm indicating value PX_UE_A_REALM, * Algorithm indicating value PX_UE_A_AUTH_ALG, * Nonce indicating value "", * not term_ioi, - * not SecurityClient - * ;; - * to the IMS_P_CSCF_A entity - * and the UE_A entity receives an 401_Unauthorized containing + * not SecurityClient, + * Contact indicating value "sos";; + * from the UE_A entity + * } + * then { + * the IMS_P_CSCF_A entity sends a 401_Unauthorized containing * From indicating value PX_UE_A_SIP_URI, * To indicating value PX_UE_A_SIP_URI, * CallId indicating value PX_UE_A_CALLID, @@ -263,11 +261,9 @@ module AtsImsIot_TP_behavior_GM { * Realm indicating value PX_UE_A_REALM, * Algorithm indicating value PX_UE_A_AUTH_ALG, * Nonce indicating value "not empty", - * qop indicating value "auth" - * ;, - * Contact indicating value "sos" + * qop indicating value "auth";; * ; - * from the IMS_P_CSCF_A entity + * from the UE_A entity * } * } */ @@ -322,7 +318,7 @@ module AtsImsIot_TP_behavior_GM { )) }, {0, omit}, - "TP_GM_PCSCF_REGISTER_01 - 401 Unauthorized", + "TP_GM_PCSCF_ECO_REGISTER_01 - 401 Unauthorized", false, p_checkMessage ) @@ -439,6 +435,54 @@ module AtsImsIot_TP_behavior_GM { } } // End of function f_mtc_check_TP_GM_PCSCF_REGISTER_02 + /** + * @desc Verify that the P-CSCF successfully processes a full emergency registration (Successful). + * Initial conditions with { + * the UE_A entity isAttachedTo the EPC_A and + * the UE_A entity isNotRegisteredTo the IMS_A and + * the UE_A entity hasAchievedFirstRegistration + * } + * + * Expected behaviour + * ensure that { + * when { + * the IMS_P_CSCF_A entity receives a REGISTER containing + * From indicating value PX_UE_A_SIP_URI, + * To indicating value PX_UE_A_SIP_URI, + * CallId indicating value PX_UE_A_CALLID, + * Via indicating value PX_UE_A_VIA, + * Authorization containing + * Authentication_Schema indicating value PX_TO_BE_DEFINED, + * Authentication_URI indicating value PX_TO_BE_DEFINED, + * Username indicating value PX_UE_A_USERNAME, + * Realm indicating value PX_UE_A_REALM, + * Algorithm indicating value PX_UE_A_AUTH_ALG, + * Nonce indicating value "not empty", + * qop indicating value "auth", + * not SecurityClient, + * Contact indicating value "sos";; + * from the UE_A entity + * } + * then { + * the IMS_P_CSCF_A entity sends an 200_Ok containing + * From indicating value PX_UE_A_SIP_URI, + * To indicating value PX_UE_A_SIP_URI, + * CallId indicating value PX_UE_A_CALLID, + * Via indicating value PX_UE_A_VIA, + * AuthenticationInfo, + * PAccessNetworkInfo, + * PAssociatedURI indicating value PX_UE_A_SIP_URI, + * PChargingVector, + * orig_ioi_parameter + * indicating value "Operator Identifier Of ImsA" , + * term_ioi_parameter + * indicating value "Operator Identifier Of ImsB" + * Path, + * ServiceRoute; + * to the UE_A entity + * } + * } + */ function f_mtc_check_TP_GM_PCSCF_ECO_REGISTER_02( in SipInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false @@ -452,18 +496,20 @@ module AtsImsIot_TP_behavior_GM { f_Iot_Sip_receive( { mw_SipRequest( - mw_TP_GM_PCSCF_REGISTER_02( - mw_From_AddrUnion_SipUrl(omit, v_userInfoA.publicId, v_userInfoA.domain), - mw_To_AddrUnion_SipUrl(omit, v_userInfoA.publicId, v_userInfoA.domain), - mw_Authorization_other - ) + mw_TP_GM_PCSCF_ECO_REGISTER_02( + mw_From_AddrUnion_SipUrl(omit, v_userInfoA.publicId, v_userInfoA.domain), + mw_To_AddrUnion_SipUrl(omit, v_userInfoA.publicId, v_userInfoA.domain), + mw_Authorization_other, + -, -, + mw_contact(mw_ContactAddress) + ) ) }, { mw_SipRequest(mw_REGISTER_Request_Base) }, {0, omit}, - "TP_GM_PCSCF_REGISTER_02 - Second request", + "TP_GM_PCSCF_ECO_REGISTER_02 - Second request", true, p_checkMessage ) @@ -595,11 +641,10 @@ module AtsImsIot_TP_behavior_GM { } // End of function f_mtc_check_TP_GM_PCSCF_REGISTER_03 /** - * @desc Verify that the P-CSCF successfully processes an invalid first registration (Unsuccessful). + * @desc Verify that the emergency registration is rejected with 403 (Forbidden) in case invalid credentials sent from UE. (Unsuccessful emergency registration). * Initial conditions with { - * the UE_A entity isAttachedTo the EPC_A and - * the UE_A entity isNotRegisteredTo the IMS_A and - * the UE_B entity isNotRegisteredTo the IMS_B + * the UE_A entity isEmergencyAttachedTo the EPC_A and + * the UE_A entity not isRegisteredTo the IMS_A * } * * Expected behaviour @@ -613,20 +658,14 @@ module AtsImsIot_TP_behavior_GM { * To indicating value PX_UE_A_SIP_URI, * CallId indicating value PX_UE_A_CALLID, * Via indicating value PX_UE_A_VIA, - * Authorization containing - * Authentication_Schema indicating value PX_TO_BE_DEFINED, - * Authentication_URI indicating value PX_TO_BE_DEFINED, - * Username indicating value PX_UE_A_INVALID_USERNAME, - * Realm indicating value PX_UE_A_REALM, - * Algorithm indicating value PX_UE_A_AUTH_ALG, - * Nonce indicating value "" - * ;; + * Authorization indicating value "Invalid credentials", + * Contact indicating value "sos"; * from the UE_A entity - * and the IMS_P_CSCF_A entity sends an 404_NotFound containing + * and the IMS_P_CSCF_A entity sends an 403_Forbiden containing * From indicating value PX_UE_A_SIP_URI, * To indicating value PX_UE_A_SIP_URI, - * CallId indicating value PX_UE_A_CALLID - * ; + * CallId indicating value PX_UE_A_CALLID, + Via indicating value PX_UE_A_VIA; * to the UE_A entity * } * } @@ -647,7 +686,7 @@ module AtsImsIot_TP_behavior_GM { mw_TP_GM_PCSCF_ECO_REGISTER_03( mw_From_AddrUnion_SipUrl(omit, v_userInfoA.publicId, v_userInfoA.domain), mw_To_AddrUnion_SipUrl(omit, v_userInfoA.publicId, v_userInfoA.domain), - mw_Authorization_other, + mw_Authorization_other, // FIXME indicating value "Invalid credentials" -, -, mw_contact(mw_ContactAddress) ) @@ -657,7 +696,7 @@ module AtsImsIot_TP_behavior_GM { mw_SipRequest(mw_REGISTER_Request_Base) }, {0, omit}, - "TP_GM_PCSCF_REGISTER_03 - First request", + "TP_GM_PCSCF_ECO_REGISTER_03 - First request", true, p_checkMessage ) @@ -673,7 +712,7 @@ module AtsImsIot_TP_behavior_GM { p_monitorCompRef.start( f_Iot_Sip_receive( { - mw_SipResponse(mw_404NotFound(v_sip.request.msgHeader.cSeq/*, mw_WwwAuthenticate*/)), + mw_SipResponse(mw_403Forbidden(v_sip.request.msgHeader.cSeq/*, mw_WwwAuthenticate*/)), mw_SipResponse(mw_480TemporaryUnavailable(-, v_sip.request.msgHeader.cSeq/*, mw_WwwAuthenticate*/)) }, { @@ -752,6 +791,98 @@ module AtsImsIot_TP_behavior_GM { } } // End of function f_mtc_check_TP_GM_PCSCF_REGISTER_04 + /** + * @desc Verify that the emergency registration is rejected with 403 (Forbidden) in case the UE and P-CSCF does not support GPRS-IMS-Bundled authentication. (Unsuccessful emergency registration). + * Initial conditions with { + * the UE_A entity isEmergencyAttachedTo the EPC_B and + * the UE_A entity not isRegisteredTo the IMS_B + * } + * + * Expected behaviour + * ensure that { + * when { + * the IMS_P_CSCF_B entity receives a REGISTER containing + * From indicating value PX_UE_A_SIP_URI, + * To indicating value PX_UE_A_SIP_URI, + * CallId indicating value PX_UE_A_CALLID, + * Via indicating value PX_UE_A_VIA, + * Authorization indicating value GPRS_IMS_Bundled_authentication, + * Contact indicating value "sos"; + * from the UE_A entity + * } + * then { + * the IMS_P_CSCF_B entity sends an 403_Forbiden containing + * From indicating value PX_UE_A_SIP_URI, + * To indicating value PX_UE_A_SIP_URI, + * CallId indicating value PX_UE_A_CALLID, + * Via indicating value PX_UE_A_VIA, + * MessageBody containing + * XML containing + * ims_3gpp_element indicating value anonymous_emergencycall;;; + * to the UE_A entity + * } + * } + */ + function f_mtc_check_TP_GM_PCSCF_ECO_REGISTER_04( + in SipInterfaceMonitor p_monitorCompRef, + in boolean p_checkMessage := false + ) runs on ImsTestCoordinator { + if (isvalue(p_monitorCompRef)){ + var ImsUserInfo v_userInfoA := f_getSipUserId(PX_EUT_A); + var SipMessage v_sip; + + // Check the first REGISTER + p_monitorCompRef.start( + f_Iot_Sip_receive( + { + mw_SipRequest( + mw_TP_GM_PCSCF_ECO_REGISTER_04( + mw_From_AddrUnion_SipUrl(omit, v_userInfoA.publicId, v_userInfoA.domain), + mw_To_AddrUnion_SipUrl(omit, v_userInfoA.publicId, v_userInfoA.domain), + mw_Authorization_other // FIXME not indicating value GPRS_IMS_Bundled_authenticatio + ) + ) + }, + { + mw_SipRequest(mw_REGISTER_Request_Base) + }, + {0, omit}, + "TP_GM_PCSCF_ECO_REGISTER_04 - First request", + true, + p_checkMessage + ) + ); + p_monitorCompRef.done; + // Retrieve messge + f_getSipMsgFromMonitor(p_monitorCompRef, v_sip); + if (not(isbound(v_sip))) { + return; + } + + // Check REGISTER 404 Not Found response + p_monitorCompRef.start( + f_Iot_Sip_receive( + { + mw_SipResponse(mw_403Forbidden(v_sip.request.msgHeader.cSeq, mw_WwwAuthenticate)), + mw_SipResponse(mw_480TemporaryUnavailable(-, v_sip.request.msgHeader.cSeq, mw_WwwAuthenticate)) + }, + { + mw_SipResponse(mw_401Unauthorized_Base), + mw_SipResponse(mw_Response_4xx_Base( + v_sip.request.msgHeader.callId, + v_sip.request.msgHeader.cSeq + )) + }, + {0, omit}, + "TP_GM_PCSCF_REGISTER_04 - 401 Unauthorized", + false, + p_checkMessage + ) + ); + p_monitorCompRef.done; + } + } // End of function f_mtc_check_TP_GM_PCSCF_ECO_REGISTER_04 + function f_mtc_check_TP_GM_PCSCF_REGISTER_05( // FIXME RMI To be reviewed in SipInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false @@ -811,6 +942,68 @@ module AtsImsIot_TP_behavior_GM { } } // End of function f_mtc_check_TP_GM_PCSCF_REGISTER_05 + function f_mtc_check_TP_GM_PCSCF_ECO_REGISTER_05( + in SipInterfaceMonitor p_monitorCompRef, + in boolean p_checkMessage := false + ) runs on ImsTestCoordinator { + if (isvalue(p_monitorCompRef)){ + var ImsUserInfo v_userInfoA := f_getSipUserId(PX_EUT_A); + var SipMessage v_sip; + + // Check the first REGISTER + p_monitorCompRef.start( + f_Iot_Sip_receive( + { + mw_SipRequest( + mw_TP_GM_PCSCF_ECO_REGISTER_05( + mw_From_AddrUnion_SipUrl(omit, v_userInfoA.publicId, v_userInfoA.domain), + mw_To_AddrUnion_SipUrl(omit, v_userInfoA.publicId, v_userInfoA.domain), + mw_Authorization_other + ) + ) + }, + { + mw_SipRequest(mw_REGISTER_Request_Base) + }, + {0, omit}, + "TP_GM_PCSCF_ECO_REGISTER_05 - Second request", + true, + p_checkMessage + ) + ); + p_monitorCompRef.done; + // Retrieve messge + f_getSipMsgFromMonitor(p_monitorCompRef, v_sip); + if (not(isbound(v_sip))) { + return; + } + // Check REGISTER 200 OK response + p_monitorCompRef.start( + f_Iot_Sip_receive( + { + mw_SipResponse(mw_420BadExtension( + v_sip.request.msgHeader.cSeq, + mw_WwwAuthenticate, + mw_MBody_MIME_Ims3gpp( + *, + ? // FIXME XML message body + ) + )), + mw_SipResponse(mw_480TemporaryUnavailable(-, v_sip.request.msgHeader.cSeq, mw_WwwAuthenticate)) + }, + { + mw_SipResponse(mw_Response_2xx_Base) + }, + {0, omit}, + "TP_GM_PCSCF_REGISTER_05 - 200 OK", + false, + p_checkMessage + ) + ); + p_monitorCompRef.done; + } + } // End of function f_mtc_check_TP_GM_PCSCF_ECO_REGISTER_05 + } // End of group imsRegistration group imsDeRegistration { @@ -1321,7 +1514,7 @@ module AtsImsIot_TP_behavior_GM { } // End of function f_mtc_check_TP_GM_PCSCF_INVITE_01 /** - * @desc "Verify that the P-CSCF successfully receives an initial emergency INVITE from an unregistered UE." + * @desc Verify that the P-CSCF successfully receives an initial emergency INVITE from an unregistered UE. * Reference * "ETSI TS 124 229 [1], Clauses 5.1.6.8.2" * Config Id CF_VxLTE_INT @@ -1360,15 +1553,15 @@ module AtsImsIot_TP_behavior_GM { // Check the INVITE p_monitorCompRef.start( f_Iot_Sip_receive( - { mw_SipRequest(mw_TP_GM_PCSCF_INVITE_01( - -, // FIXME Set expected value - mw_From_AddrUnion_TelUrl(-), // v_userInfoA.publicId - mw_To_AddrUnion_TelUrl(-) // v_userInfoB.publicId - )) + { mw_SipRequest(mw_TP_GM_PCSCF_ECO_INVITE_01( + -, // FIXME Set expected value + mw_SipUrl_Anonymous, + mw_To_AddrUnion_TelUrl(v_userInfoB.publicId) + )) }, { mw_SipRequest(mw_INVITE_Request_Base) }, {0, omit}, - "TP_GM_PCSCF_INVITE_01 - Request", + "TP_GM_PCSCF_ECO_INVITE_01 - Request", true, p_checkMessage ) @@ -1492,18 +1685,18 @@ module AtsImsIot_TP_behavior_GM { { mw_SipRequest(mw_TP_GM_PCSCF_ECO_INVITE_02( -, // FIXME Set expected value ( - mw_From_NameAddr_SipUrl({quotedString:=v_userInfoB.publicId}, v_userInfoB.publicId, v_userInfoB.domain), - mw_From_AddrUnion_TelUrl(v_userInfoB.publicId) + mw_From_NameAddr_SipUrl({quotedString:=v_userInfoA.publicId}, v_userInfoA.publicId, v_userInfoA.domain), + mw_From_AddrUnion_TelUrl(v_userInfoA.publicId) ), ( - mw_To_NameAddr_SipUrl({quotedString:=v_userInfoA.publicId}, v_userInfoA.publicId/*, v_userInfoA.domain*/), - mw_To_AddrUnion_TelUrl(-)//v_userInfoA.publicId + mw_To_NameAddr_SipUrl({quotedString:=v_userInfoB.publicId}, v_userInfoB.publicId/*, v_userInfoA.domain*/), + mw_To_AddrUnion_TelUrl(v_userInfoB.publicId) ) )) }, { mw_SipRequest(mw_INVITE_Request_Base) }, {0, omit}, - "TP_GM_PCSCF_INVITE_02 - Request", + "TP_GM_PCSCF_ECO_INVITE_02 - Request", true, p_checkMessage ) @@ -1546,7 +1739,36 @@ module AtsImsIot_TP_behavior_GM { } } // End of function f_mtc_check_TP_GM_PCSCF_INVITE_03 - function f_mtc_check_TP_GM_PCSCF_ECO_INVITE_03( // FIXME RMI To be reviewed + /** + * @desc Verify that the P-CSCF successfully receives an initial emergency INVITE from a registered but not emergency registered UE. + * Reference + * "ETSI TS 124 229 [1], Clauses 5.1.6.8.3" + * Config Id CF_VxLTE_INT + * PICS Selection NONE + * Initial conditions with { + * the UE_A entity isAttachedTo the EPC_A and + * the UE_A entity isRegisteredTo the IMS_A and + * the UE_A entity not isEmergencyRegisteredTo the IMS_A + * } + * Expected behaviour + * ensure that { + * when { + * the UE_A entity isRequestedToEstablishEmergencyCall + * } + * then { + * the IMS_P_CSCF_A entity receives an INVITE containing + * From indicating value PX_UE_A_SIP_URI, + * To indicating value PX_SIP_EMERGENCY_SERVICE_URN, + * CallId indicating value PX_UE_A_CALLID, + * Via indicating value PX_UE_A_VIA, + * Route indicating value PX_UE_A_SERVICE_ROUTE, + * PPreferredIdentity, // one or two instances + * MessageBody; + * from the UE_A entity + * } + * } + */ + function f_mtc_check_TP_GM_PCSCF_ECO_INVITE_03( in SipInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false, out SipMessage p_sip @@ -1559,15 +1781,15 @@ module AtsImsIot_TP_behavior_GM { p_monitorCompRef.start( f_Iot_Sip_receive( { - mw_SipRequest(mw_TP_GM_PCSCF_INVITE_03( - -, // FIXME Set expected value - mw_From_AddrUnion_SipUrl(omit, v_userInfoA.publicId, v_userInfoA.domain), - mw_To_AddrUnion_SipUrl(omit, v_userInfoB.publicId, v_userInfoB.domain) - )) + mw_SipRequest(mw_TP_GM_PCSCF_ECO_INVITE_03( + -, // FIXME Set expected value + mw_From_AddrUnion_SipUrl(omit, v_userInfoA.publicId, v_userInfoA.domain), + mw_To_AddrUnion_SipUrl(omit, v_userInfoB.publicId, v_userInfoB.domain) + )) }, { mw_SipRequest(mw_INVITE_Request_Base) }, {0, omit}, - "TP_GM_PCSCF_INVITE_03 - Request", + "TP_GM_PCSCF_ECO_INVITE_03 - Request", true, p_checkMessage ) @@ -1578,6 +1800,34 @@ module AtsImsIot_TP_behavior_GM { } } // End of function f_mtc_check_TP_GM_PCSCF_ECO_INVITE_03 + /** + * @desc Verify that the P-CSCF successfully receives an initial eCall type INVITE from an emergency registered UE. + * Reference + * "ETSI TS 124 229 [1], Clauses 5.1.6.8.3" + * Config Id CF_VxLTE_INT + * PICS Selection NONE + * Initial conditions with { + * the UE_A entity isEmergencyAttachedTo the EPC_A and + * the UE_A entity isEmergencyRegisteredTo the IMS_A + * } + * Expected behaviour + * ensure that { + * when { + * the UE_A entity isRequestedToEstablishEmergencyCall + * } + * then { + * the IMS_P_CSCF_A entity receives an INVITE containing + * From indicating value PX_UE_A_SIP_URI, + * To indicating value PX_SIP_EMERGENCY_SERVICE_URN, + * CallId indicating value PX_UE_A_CALLID, + * Via indicating value PX_UE_A_VIA, + * Route indicating value PX_UE_A_SERVICE_ROUTE, + * PPreferredIdentity, // one or two instances + * MessageBody; + * from the UE_A entity + * } + * } + */ function f_mtc_check_TP_GM_PCSCF_ECO_INVITE_04( // FIXME RMI To be reviewed in SipInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false, @@ -1591,11 +1841,15 @@ module AtsImsIot_TP_behavior_GM { p_monitorCompRef.start( f_Iot_Sip_receive( { - mw_SipRequest(mw_TP_GM_PCSCF_INVITE_04( - -, // FIXME Set expected value - mw_From_AddrUnion_SipUrl(omit, v_userInfoA.publicId, v_userInfoA.domain), - mw_To_AddrUnion_SipUrl(omit, v_userInfoB.publicId, v_userInfoB.domain) - )) + mw_SipRequest(mw_TP_GM_PCSCF_ECO_INVITE_04( + -, // FIXME Set expected value + mw_From_AddrUnion_SipUrl(omit, v_userInfoA.publicId, v_userInfoA.domain), + mw_To_AddrUnion_SipUrl(omit, v_userInfoB.publicId, v_userInfoB.domain), + -, -, + mw_PPreferredID, + mw_accept({mw_acceptBody("application/EmergencyCallData.Control+xml")}), + mw_recevInfo({mw_infoPackage_Type("EmergencyCallData.eCall.MSD")}) + )) }, { mw_SipRequest(mw_INVITE_Request_Base) }, {0, omit}, @@ -1899,10 +2153,10 @@ module AtsImsIot_TP_behavior_GM { } // End of function f_mtc_check_TP_GM_PCSCF_100Trying_01 function f_mtc_check_TP_GM_PCSCF_ECO_100Trying_01( - in SipInterfaceMonitor p_monitorCompRef, - in boolean p_checkMessage := false, - in SipMessage p_sip - ) runs on ImsTestCoordinator { + in SipInterfaceMonitor p_monitorCompRef, + in boolean p_checkMessage := false, + in SipMessage p_sip + ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)) { // Check the 100 TRYING p_monitorCompRef.start( @@ -1915,7 +2169,7 @@ module AtsImsIot_TP_behavior_GM { }, { mw_SipResponse(mw_100Trying_Base) }, { 0, omit }, - "TP_GM_PCSCF_100Trying_01", + "TP_GM_PCSCF_ECO_100Trying_01", false, p_checkMessage ) @@ -2312,10 +2566,10 @@ module AtsImsIot_TP_behavior_GM { * } */ function f_mtc_check_TP_GM_PCSCF_183SESSION_PROGRESS_02( - in SipInterfaceMonitor p_monitorCompRef, - in boolean p_checkMessage := false, - in SipMessage p_sip - ) runs on ImsTestCoordinator { + in SipInterfaceMonitor p_monitorCompRef, + in boolean p_checkMessage := false, + in SipMessage p_sip + ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)) { // Check the 183 SESSION_PROGRESS p_monitorCompRef.start( @@ -2364,10 +2618,10 @@ module AtsImsIot_TP_behavior_GM { } // End of function f_mtc_check_TP_GM_PCSCF_183SESSION_PROGRESS_03 function f_mtc_check_TP_GM_PCSCF_183SESSION_PROGRESS_04( - in SipInterfaceMonitor p_monitorCompRef, - in boolean p_checkMessage := false, - in SipMessage p_sip - ) runs on ImsTestCoordinator { + in SipInterfaceMonitor p_monitorCompRef, + in boolean p_checkMessage := false, + in SipMessage p_sip + ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)) { // Check the 183 SESSION_PROGRESS p_monitorCompRef.start( @@ -2454,6 +2708,38 @@ module AtsImsIot_TP_behavior_GM { } } // End of function f_mtc_check_TP_GM_PCSCF_200OK_01 + /** + * @desc Verify that the P-CSCF successfully processes a 200 (OK) BYE (Originating Leg) + * Initial conditions with { + * the UE_A entity isEmergencyAttachedTo the EPC_A and + * the UE_A entity isEmergencyRegisteredTo the IMS_A + * } + * + * Expected behaviour + * ensure that { + * when { + * the IMS_P_CSCF_A entity sends a 200_Ok containing + * From indicating value PX_UE_B_SIP_URI, + * To indicating value PX_UE_A_SIP_URI, + * CallId indicating value PX_UE_B_CALLID, + * Via indicating value PX_UE_B_VIA, + * Route indicating value PX_UE_B_SERVICE_ROUTE; + * from the IMS_E_CSCF entity + * } + * then { + * the IMS_P_CSCF_A entity sends a 200_Ok containing + * From indicating value PX_UE_B_SIP_URI, + * To indicating value PX_UE_A_SIP_URI, + * CallId indicating value PX_UE_B_CALLID, + * Via indicating value PX_UE_B_VIA, + * Route indicating value PX_UE_B_SERVICE_ROUTE, + * not PChargingVector, + * not PChargingFunctionAddresses, + * not PPreferredIdentity; + * to the UE_A entity + * } + * } + */ function f_mtc_check_TP_GM_PCSCF_ECO_200OK_01( in SipInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false, @@ -2863,6 +3149,30 @@ module AtsImsIot_TP_behavior_GM { } } // End of function f_mtc_check_TP_GM_PCSCF_BYE_01 + /** + * @desc Verify that the P-CSCF successfully processes a BYE for an emergency call. + * Initial conditions with { + * the UE_A entity isEmergencyAttachedTo the EPC_A and + * the UE_A entity isEmergencyRegisteredTo the IMS_A and + * the UE_A entity previouslyEstablishedEmergencyCallWith the PSAP + * } + * + * Expected behaviour + * ensure that { + * when { + * the UE_A entity isRequestedToSend a BYE + * } + * then { + * the IMS_P_CSCF_A entity receives a BYE containing + * From indicating value PX_UE_A_SIP_URI, + * To indicating value PX_SIP_EMERGENCY_SERVICE_URN, + * CallId indicating value PX_UE_A_CALLID, + * Via indicating value PX_UE_A_VIA, + * Route indicating value PX_UE_A_SERVICE_ROUTE; + * from the UE_A entity + * } + * } + */ function f_mtc_check_TP_GM_PCSCF_ECO_BYE_01( in SipInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false, @@ -3195,6 +3505,66 @@ module AtsImsIot_TP_behavior_GM { } } // End of function f_mtc_check_TP_GM_PCSCF_200OK_BYE_01 + /** + * @desc Verify that the P-CSCF successfully processes a 200 (OK) BYE (Originating Leg) + * Initial conditions with { + * the UE_A entity isEmergencyAttachedTo the EPC_A and + * the UE_A entity isEmergencyRegisteredTo the IMS_A + * } + * + * Expected behaviour + * ensure that { + * when { + * the IMS_P_CSCF_A entity sends a 200_Ok containing + * From indicating value PX_UE_B_SIP_URI, + * To indicating value PX_UE_A_SIP_URI, + * CallId indicating value PX_UE_B_CALLID, + * Via indicating value PX_UE_B_VIA, + * Route indicating value PX_UE_B_SERVICE_ROUTE; + * from the IMS_E_CSCF entity + * } + * then { + * the IMS_P_CSCF_A entity sends a 200_Ok containing + * From indicating value PX_UE_A_SIP_URI, + * To indicating value PX_UE_B_SIP_URI, + * CallId indicating value PX_UE_A_CALLID, + * Via indicating value PX_UE_A_VIA, + * Route indicating value PX_UE_A_SERVICE_ROUTE, + * not PChargingVector, + * not PChargingFunctionAddresses, + * not PPreferredIdentity + * ; + * to the IMS_S_CSCF_A entity + * } + * } + */ + function f_mtc_check_TP_GM_PCSCF_ECO_200OK_BYE_01( + in SipInterfaceMonitor p_monitorCompRef, + in boolean p_checkMessage := false, + in SipMessage p_sip + ) runs on ImsTestCoordinator { + if (isvalue(p_monitorCompRef)) { + // Check the 200 OK BYE + p_monitorCompRef.start( + f_Iot_Sip_receive( + { mw_SipResponse(mw_ECO_200OK( + p_sip.request.msgHeader.cSeq, + p_sip.request.msgHeader.callId, + p_sip.request.msgHeader.fromField, + p_sip.request.msgHeader.toField + )) + }, + { mw_SipResponse(mw_200OK_Base) }, + { 0, omit }, + "TP_GM_PCSCF_ECO_200OK_BYE_01", + false, + p_checkMessage + ) + ); + p_monitorCompRef.done; + } + } // End of function f_mtc_check_TP_GM_PCSCF_ECO_200OK_BYE_01 + /** * @desc Verify that the P-CSCF successfully processes a 200 (OK) BYE (Terminating Leg). * Initial conditions with { @@ -3251,6 +3621,65 @@ module AtsImsIot_TP_behavior_GM { } } // End of function f_mtc_check_TP_GM_PCSCF_200OK_BYE_02 + /** + * @desc Verify that the P-CSCF successfully processes a 200 (OK) BYE (Terminating Leg) + * Initial conditions with { + * the UE_A entity isEmergencyAttachedTo the EPC_A and + * the UE_A entity isEmergencyRegisteredTo the IMS_A + * } + * + * Expected behaviour + * ensure that { + * when { + * the IMS_P_CSCF_A entity receives a 200_Ok containing + * From indicating value PX_UE_A_SIP_URI, + * To indicating value PX_UE_B_SIP_URI, + * CallId indicating value PX_UE_A_CALLID, + * Via indicating value PX_UE_A_VIA, + * Route indicating value PX_UE_A_SERVICE_ROUTE, + * not PChargingVector, + * not PChargingFunctionAddresses, + * not PPreferredIdentity; + * from the UE_A entity + * } + * then { + * the IMS_P_CSCF_A entity sends a 200_Ok containing + * From indicating value PX_UE_A_SIP_URI, + * To indicating value PX_UE_B_SIP_URI, + * CallId indicating value PX_UE_A_CALLID, + * Via indicating value PX_UE_A_VIA, + * Route indicating value PX_UE_A_SERVICE_ROUTE; + * to the IMS_E_CSCF entity + * } + * } + */ + function f_mtc_check_TP_GM_PCSCF_ECO_200OK_BYE_02( + in SipInterfaceMonitor p_monitorCompRef, + in boolean p_checkMessage := false, + in SipMessage p_sip + ) runs on ImsTestCoordinator { + if (isvalue(p_monitorCompRef)) { + // Check the 200 OK BYE + p_monitorCompRef.start( + f_Iot_Sip_receive( + { mw_SipResponse(mw_ECO_200OK( + p_sip.request.msgHeader.cSeq, + p_sip.request.msgHeader.callId, + p_sip.request.msgHeader.fromField, + p_sip.request.msgHeader.toField + )) + }, + { mw_SipResponse(mw_200OK_Base) }, + { 0, omit }, + "TP_GM_PCSCF_ECO_200OK_BYE_02", + false, + p_checkMessage + ) + ); + p_monitorCompRef.done; + } + } // End of function f_mtc_check_TP_GM_PCSCF_ECO_200OK_BYE_02 + function f_mtc_check_TP_GM_PCSCF_200OK_BYE_03( in SipInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false, @@ -3420,6 +3849,30 @@ module AtsImsIot_TP_behavior_GM { } } // End of function f_mtc_check_TP_GM_PCSCF_CANCEL_01 + /** + * @desc Verify that the P-CSCF successfully processes a CANCEL during Emergency Call establishment. + * Initial conditions with { + * the UE_A entity isEmergencyAttachedTo the EPC_A and + * the UE_A entity isEmergencyRegisteredTo the IMS_A and + * the UE_A entity hasAchievedInitialEmergencyINVITE + * } + * + * Expected behaviour + * ensure that { + * when { + * the UE_A entity isRequestedToSend a CANCEL + * } + * then { + * the IMS_P_CSCF_A entity receives a CANCEL containing + * From indicating value PX_UE_A_SIP_URI, + * To indicating value PX_SIP_EMERGENCY_SERVICE_URN, + * CallId indicating value PX_UE_A_CALLID, + * Via indicating value PX_UE_A_VIA, + * Route indicating value PX_UE_A_SERVICE_ROUTE; + * from the UE_A entity + * } + * } + */ function f_mtc_check_TP_GM_PCSCF_ECO_CANCEL_01( in SipInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false, @@ -3439,7 +3892,7 @@ module AtsImsIot_TP_behavior_GM { }, { mw_SipRequest(mw_CANCEL_Request_Base) }, { 0, omit }, - "TP_GM_PCSCF_CANCEL_01", + "TP_GM_PCSCF_ECO_CANCEL_01", true, p_checkMessage ) diff --git a/ttcn/AtsImsIot/AtsImsIot_TP_behavior_MW_PS.ttcn b/ttcn/AtsImsIot/AtsImsIot_TP_behavior_MW_PS.ttcn index ab66af6..8a2afee 100644 --- a/ttcn/AtsImsIot/AtsImsIot_TP_behavior_MW_PS.ttcn +++ b/ttcn/AtsImsIot/AtsImsIot_TP_behavior_MW_PS.ttcn @@ -260,10 +260,8 @@ module AtsImsIot_TP_behavior_MW_PS { * Realm indicating value PX_UE_A_REALM, * Algorithm indicating value PX_UE_A_AUTH_ALG, * Nonce indicating value "not empty", - * qop indicating value "auth" - * ;, - * Contact indicating value "sos" - * ; + * qop indicating value "auth";, + * Contact indicating value "sos"; * to the UE_A entity * } * } diff --git a/ttcn/AtsImsIot/AtsImsIot_Templates.ttcn b/ttcn/AtsImsIot/AtsImsIot_Templates.ttcn index 2ee78db..3604831 100644 --- a/ttcn/AtsImsIot/AtsImsIot_Templates.ttcn +++ b/ttcn/AtsImsIot/AtsImsIot_Templates.ttcn @@ -1920,6 +1920,14 @@ module AtsImsIot_Templates { payload := * } + template Response mw_420BadExtension_Base modifies m_Response_Dummy := + { + statusLine := {c_sipNameVersion, 420, ?}, + msgHeader := ?, + messageBody := *, + payload := * + } + template Response mw_480TemporaryUnavailable_Base modifies m_Response_Dummy := { statusLine := c_statusLine480, @@ -2278,15 +2286,32 @@ module AtsImsIot_Templates { } } // End of template mw_200OK + template (present) Response mw_ECO_200OK( + template (present) CSeq p_cSeq := ?, + template (present) CallId p_callId := ?, + template (present) From p_from := ?, + template (present) To p_to := ? + ) modifies mw_200OK := { + msgHeader := { + callId := p_callId, + cSeq := p_cSeq, + fromField := p_from, + toField := p_to, + pChargingVector := omit, + pChargingFunctionAddresses := omit, + pPreferredID := omit + } + } // End of template mw_200OK + template Response mw_380AlternateService( template (present) CSeq p_cSeq := ?, template (present) CallId p_callId := ?, template WwwAuthenticate p_wwwAuthenticate := * ) modifies mdw_3XX_Base := { msgHeader := { - cSeq := p_cSeq, - callId := p_callId, - wwwAuthenticate := p_wwwAuthenticate + cSeq := p_cSeq, + callId := p_callId, + wwwAuthenticate := p_wwwAuthenticate } } // End of template mw_380AlternateService @@ -2300,6 +2325,16 @@ module AtsImsIot_Templates { } } // End of template mw_401Unauthorized + template Response mw_403Forbidden( + template (present) CSeq p_cSeq := ?, + template (present) WwwAuthenticate p_wwwAuthenticate := ? + ) modifies mw_403Forbidden_Base := { + msgHeader := { + cSeq := p_cSeq, + wwwAuthenticate := p_wwwAuthenticate + } + } // End of template mw_403Forbidden + template Response mw_404NotFound( template (present) CSeq p_cSeq := ?, template (present) WwwAuthenticate p_wwwAuthenticate := ? @@ -2310,6 +2345,18 @@ module AtsImsIot_Templates { } } // End of template mw_404NotFound + template Response mw_420BadExtension( + template (present) CSeq p_cSeq := ?, + template (present) WwwAuthenticate p_wwwAuthenticate := ?, + template (present) MessageBody p_messageBody := ? + ) modifies mw_420BadExtension_Base := { + msgHeader := { + cSeq := p_cSeq, + wwwAuthenticate := p_wwwAuthenticate + }, + messageBody := p_messageBody + } // End of template mw_420BadExtension + template Response mw_480TemporaryUnavailable( template (present) CallId p_callId := ?, template (present) CSeq p_cSeq := ?, @@ -2507,7 +2554,27 @@ module AtsImsIot_Templates { } } - + template (present) Accept mw_accept( + template (present) AcceptBody_List p_acceptArgs := ? + ) := { + fieldName := ACCEPT_E, + acceptArgs := p_acceptArgs + } + + template (present) RecvInfo mw_recvInfo( + template InfoPackage_List p_infoPackageList := ? + ) := { + fieldName := RECV_INFO_E, + infoPackageList := l_infoPackageList + } + + template(present) PPreferredID mw_PPreferredID( + template(present) PPreferredIDValue_List p_pPreferredIDValue_List := ? + ) := { + fieldName := P_PREFERRED_ID_E, + pPreferredIDValueList := p_pPreferredIDValue_List + } + } // end group HeaderTemplates group AuxiliaryInformationElementTemplates { @@ -2579,6 +2646,22 @@ module AtsImsIot_Templates { } } } + template (present) AcceptBody mw_acceptBody( + template (present) charstring p_mediaRange := ?, + template SemicolonParam_List p_acceptParam := * + ) :={ + mediaRange := p_mediaRange, + acceptParam := p_acceptParam + } + + template (present) InfoPackage_Type mw_infoPackage_Type( + template (present) charstring p_infoPackageName := ?, + template SemicolonParam_List p_infoPackageParams := * + ) := { + infoPackageName := p_infoPackageName, + infoPackageParams := p_infoPackageParams + } + } // End of group AuxiliaryInformationElementTemplates group adapterTemplates { diff --git a/ttcn/AtsImsIot/AtsImsIot_Templates_GM.ttcn b/ttcn/AtsImsIot/AtsImsIot_Templates_GM.ttcn index 106f465..3e91695 100644 --- a/ttcn/AtsImsIot/AtsImsIot_Templates_GM.ttcn +++ b/ttcn/AtsImsIot/AtsImsIot_Templates_GM.ttcn @@ -212,10 +212,14 @@ module AtsImsIot_Templates_GM { template (present) Authorization p_authorization := ?, template PChargingVector p_pChargingVector := *, template PVisitedNetworkID p_pVisitedNetworkID := *, - template (present) Contact p_contact := ? + template (present) Contact p_contact := ?, + template Path p_path := ?, + template Warning p_warning := ? ) modifies mw_TP_GM_PCSCF_REGISTER_01 := { msgHeader := { - contact := p_contact + contact := p_contact, + path := p_path, + Warning := p_warning } } // End of template mw_TP_GM_PCSCF_ECO_REGISTER_01 @@ -228,6 +232,18 @@ module AtsImsIot_Templates_GM { ) modifies mw_TP_GM_PCSCF_REGISTER_01 := { } // End of template mw_TP_GM_PCSCF_REGISTER_02 + template(present) REGISTER_Request mw_TP_GM_PCSCF_ECO_REGISTER_02( + template (present) From p_from := ?, + template (present) To p_to := ?, + template (present) Authorization p_authorization := ?, + template PChargingVector p_pChargingVector := *, + template PVisitedNetworkID p_pVisitedNetworkID := *, + template (present) Contact p_contact := ?, + template Path p_path := ?, + template Warning p_warning := ? + ) modifies mw_TP_GM_PCSCF_ECO_REGISTER_01 := { + } // End of template mw_TP_GM_PCSCF_REGISTER_02 + template(present) REGISTER_Request mw_TP_GM_PCSCF_REGISTER_03( template (present) From p_from := ?, template (present) To p_to := ?, @@ -243,7 +259,9 @@ module AtsImsIot_Templates_GM { template (present) Authorization p_authorization := ?, template PChargingVector p_pChargingVector := *, template PVisitedNetworkID p_pVisitedNetworkID := *, - template (present) Contact p_contact := ? + template (present) Contact p_contact := ?, + template Path p_path := ?, + template Warning p_warning := ? ) modifies mw_TP_GM_PCSCF_ECO_REGISTER_01 := { } // End of template mw_TP_GM_PCSCF_ECO_REGISTER_03 @@ -256,6 +274,18 @@ module AtsImsIot_Templates_GM { ) modifies mw_TP_GM_PCSCF_REGISTER_01 := { } // End of template mw_TP_GM_PCSCF_REGISTER_04 + template(present) REGISTER_Request mw_TP_GM_PCSCF_ECO_REGISTER_04( + template (present) From p_from := ?, + template (present) To p_to := ?, + template (present) Authorization p_authorization := ?, + template PChargingVector p_pChargingVector := *, + template PVisitedNetworkID p_pVisitedNetworkID := *, + template (present) Contact p_contact := ?, + template Path p_path := ?, + template Warning p_warning := ? + ) modifies mw_TP_GM_PCSCF_ECO_REGISTER_01 := { + } // End of template mw_TP_GM_PCSCF_ECO_REGISTER_04 + template(present) REGISTER_Request mw_TP_GM_PCSCF_REGISTER_05( template (present) From p_from := ?, template (present) To p_to := ?, @@ -376,11 +406,13 @@ module AtsImsIot_Templates_GM { template (present) SipUrl p_invite_uri := ?, template (present) From p_from := ?, template (present) To p_to := ?, - template (present) Contact p_contact := ? + template (present) Contact p_contact := ?, + template (present) MessageBody p_messageBody := ? ) modifies mw_TP_GM_PCSCF_INVITE_01 := { msgHeader := { contact := p_contact - } + }, + bessageBody := p_messageBody } // End of template mw_TP_GM_PCSCF_ECO_INVITE_01 template (present) INVITE_Request mw_TP_GM_PCSCF_INVITE_02( // TODO To be enforced @@ -394,7 +426,8 @@ module AtsImsIot_Templates_GM { template (present) SipUrl p_invite_uri := ?, template (present) From p_from := ?, template (present) To p_to := ?, - template (present) Contact p_contact := ? + template (present) Contact p_contact := ?, + template (present) MessageBody p_messageBody := ? ) modifies mw_TP_GM_PCSCF_ECO_INVITE_01 := { } // End of template mw_TP_GM_PCSCF_ECO_INVITE_02 @@ -405,6 +438,15 @@ module AtsImsIot_Templates_GM { ) modifies mw_TP_GM_PCSCF_INVITE_01 := { } // End of template mw_TP_GM_PCSCF_INVITE_03 + template (present) INVITE_Request mw_TP_GM_PCSCF_ECO_INVITE_03( // TODO To be enforced + template (present) SipUrl p_invite_uri := ?, + template (present) From p_from := ?, + template (present) To p_to := ?, + template (present) Contact p_contact := ?, + template (present) MessageBody p_messageBody := ? + ) modifies mw_TP_GM_PCSCF_ECO_INVITE_01 := { + } // End of template mw_TP_GM_PCSCF_ECO_INVITE_03 + template (present) INVITE_Request mw_TP_GM_PCSCF_INVITE_04( // TODO To be enforced template (present) SipUrl p_invite_uri := ?, template (present) From p_from := ?, @@ -412,6 +454,23 @@ module AtsImsIot_Templates_GM { ) modifies mw_TP_GM_PCSCF_INVITE_01 := { } // End of template mw_TP_GM_PCSCF_INVITE_04 + template (present) INVITE_Request mw_TP_GM_PCSCF_ECO_INVITE_04( // TODO To be enforced + template (present) SipUrl p_invite_uri := ?, + template (present) From p_from := ?, + template (present) To p_to := ?, + template (present) Contact p_contact := ?, + template (present) MessageBody p_messageBody := ?, + template (present) PPreferredID p_pPreferredID := ?, + template (present) Accept p_accept := ?, + template (present) RecvInfo p_recvInfo := ? + ) modifies mw_TP_GM_PCSCF_ECO_INVITE_01 := { + msgHeader := { + accept := p_accept, + recvInfo := p_recvInfo, + pPreferredID := p_pPreferredID + } + } // End of template mw_TP_GM_PCSCF_ECO_INVITE_04 + template (present) INVITE_Request mw_TP_GM_PCSCF_RE_INVITE_01( // TODO To be enforced template (present) SipUrl p_invite_uri := ?, template (present) From p_from := ?, diff --git a/ttcn/AtsImsIot/AtsImsIot_TypesAndValues.ttcn b/ttcn/AtsImsIot/AtsImsIot_TypesAndValues.ttcn index 961f35c..7c0384e 100644 --- a/ttcn/AtsImsIot/AtsImsIot_TypesAndValues.ttcn +++ b/ttcn/AtsImsIot/AtsImsIot_TypesAndValues.ttcn @@ -9,7 +9,7 @@ module AtsImsIot_TypesAndValues { import from LibCommon_BasicTypesAndValues all; import from LibSip_SIPTypesAndValues all; import from LibMsrp_TypesAndValues all; - import from LibDiameter_TypesAndValues {type DIAMETER_MSG} + import from LibDiameter_TypesAndValues all; import from LibCommon_DataStrings all; group SIPmessageTypes { -- GitLab From 8b4f1bd6b047be936407fb91abee2afbcbe7f917 Mon Sep 17 00:00:00 2001 From: garciay Date: Fri, 15 Sep 2023 10:50:29 +0200 Subject: [PATCH 04/32] Review of TTCN-3 implementation & templates of all emergency TPs for the SIP part --- test_purposes/Gm/TP_GM.tplan2 | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/test_purposes/Gm/TP_GM.tplan2 b/test_purposes/Gm/TP_GM.tplan2 index 27d8105..4696be0 100644 --- a/test_purposes/Gm/TP_GM.tplan2 +++ b/test_purposes/Gm/TP_GM.tplan2 @@ -71,7 +71,7 @@ Package TP_GM { Algorithm indicating value PX_UE_A_AUTH_ALG, Nonce indicating value "not empty", qop indicating value "auth";; - from the UE_A entity + to the UE_A entity } } } // End of TP_GM_PCSCF_ECO_REGISTER_01 @@ -248,7 +248,7 @@ Package TP_GM { Via indicating value PX_UE_A_VIA, Authorization not indicating value GPRS_IMS_Bundled_authentication, Contact indicating value "sos"; - to the UE_A entity + from the UE_A entity } then { the IMS_P_CSCF_B entity sends a 420_BadExtension containing @@ -260,7 +260,7 @@ Package TP_GM { MessageBody containing XML containing ims_3gpp_element indicating value anonymous_emergencycall;;; - from the UE_A entity + to the UE_A entity } } } // End of TP_GM_PCSCF_ECO_REGISTER_05 @@ -294,7 +294,7 @@ Package TP_GM { From indicating value "Anonymous", To indicating value PX_SIP_EMERGENCY_SERVICE_URN, CallId indicating value PX_UE_A_CALLID, - Via indicating value PX_UE_A_VIA, // see 5.1.6.8.2 7) + Via indicating value PX_UE_A_VIA, // see 5.1.6.8.2 7 Route indicating value PX_UE_A_SERVICE_ROUTE, MessageBody; from the UE_A entity @@ -523,7 +523,7 @@ Package TP_GM { CallId indicating value PX_PSAP_CALLID, Via indicating value PX_PSAP_VIA, Route indicating value PX_PSAP_SERVICE_ROUTE; - from the IMS_E_CSCF entity + to the IMS_E_CSCF entity } then { the IMS_P_CSCF_A entity sends a 200_Ok containing -- GitLab From 274f90b7233800f276f0a822341ba68483b20951 Mon Sep 17 00:00:00 2001 From: garciay Date: Fri, 15 Sep 2023 11:05:24 +0200 Subject: [PATCH 05/32] Change ECO into EMC when required --- ttcn/AtsImsIot/AtsImsIot_Emergency.ttcn | 90 ++++++++++---------- ttcn/AtsImsIot/AtsImsIot_TP_behavior_GM.ttcn | 6 +- 2 files changed, 48 insertions(+), 48 deletions(-) diff --git a/ttcn/AtsImsIot/AtsImsIot_Emergency.ttcn b/ttcn/AtsImsIot/AtsImsIot_Emergency.ttcn index 3a56e3f..d11d47e 100644 --- a/ttcn/AtsImsIot/AtsImsIot_Emergency.ttcn +++ b/ttcn/AtsImsIot/AtsImsIot_Emergency.ttcn @@ -1685,7 +1685,7 @@ module AtsImsIot_Emergency { * @see ETSI TS 103 795-2 Clause 5.3.3.1 UE Initiated Emergency Session Release * @remark This is option 1: PSAP is in IMS A network */ - testcase TD_VoLTE_ECO_INT_REL_01_01() runs on ImsTestCoordinator system IotSystemInterface { + testcase TD_VoLTE_EMC_INT_REL_01_01() runs on ImsTestCoordinator system IotSystemInterface { var IotEquipmentUser v_ueA := f_cf_create_IotEquipmentUser ( c_userUE_A_emergency ); var IotEquipmentUser v_psap := f_cf_create_IotEquipmentUser ( c_psap ); @@ -1718,7 +1718,7 @@ module AtsImsIot_Emergency { } else { // TODO Check OPTIONS from PSAP to E-CSCF } - f_mtc_check_precond_TD_VoLTE_ECO_INT_REL_01_01(); + f_mtc_check_precond_TD_VoLTE_EMC_INT_REL_01_01(); f_mtc_userInitiateCall (v_ueA, v_infoPsap); // Event 1 // Test body @@ -1755,23 +1755,23 @@ module AtsImsIot_Emergency { setverdict (inconc,"At least one required monitor interface SHALL be selected! Check PIXITs") } f_cf_adapter_down ( ); - } // End of TC TD_VoLTE_ECO_INT_REL_01_01 + } // End of TC TD_VoLTE_EMC_INT_REL_01_01 - group f_TD_VoLTE_ECO_INT_REL_01_01 { + group f_TD_VoLTE_EMC_INT_REL_01_01 { - function f_mtc_check_precond_TD_VoLTE_ECO_INT_REL_01_01() runs on ImsTestCoordinator { + function f_mtc_check_precond_TD_VoLTE_EMC_INT_REL_01_01() runs on ImsTestCoordinator { log("If the test case fails, please check the preconditions"); // TODO Add real code to check pre-conditions - } // End of function f_mtc_check_precond_TD_VoLTE_ECO_INT_REL_01_01 + } // End of function f_mtc_check_precond_TD_VoLTE_EMC_INT_REL_01_01 - } // End of group f_TD_VoLTE_ECO_INT_REL_01_01 + } // End of group f_TD_VoLTE_EMC_INT_REL_01_01 /** * @desc To perform originating UE session release and the tear down of related dedicated bearers. * @see ETSI TS 103 795-2 Clause 5.3.3.1 UE Initiated Emergency Session Release * @remark This is option 2: PSAP is not in IMS A network */ - testcase TD_VoLTE_ECO_INT_REL_01_02 ( ) runs on ImsTestCoordinator system IotSystemInterface { + testcase TD_VoLTE_EMC_INT_REL_01_02 ( ) runs on ImsTestCoordinator system IotSystemInterface { var IotEquipmentUser v_ueA := f_cf_create_IotEquipmentUser ( c_userUE_A_emergency ); var IotEquipmentUser v_psap := f_cf_create_IotEquipmentUser ( c_psap ); @@ -1805,7 +1805,7 @@ module AtsImsIot_Emergency { } else { // TODO Check OPTIONS from PSAP to E-CSCF } - f_mtc_check_precond_TD_VoLTE_ECO_INT_REL_01_02(); + f_mtc_check_precond_TD_VoLTE_EMC_INT_REL_01_02(); f_mtc_userInitiateCall (v_ueA, v_infoPsap); // Event 1 // Test body @@ -1842,22 +1842,22 @@ module AtsImsIot_Emergency { setverdict (inconc,"At least one required monitor interface SHALL be selected! Check PIXITs") } f_cf_adapter_down ( ); - } // End of TC TD_VoLTE_ECO_INT_REL_01_02 + } // End of TC f_TD_VoLTE_EMC_INT_REL_01_01 - group f_TD_VoLTE_ECO_INT_REL_01_02 { + group f_TD_VoLTE_EMC_INT_REL_01_02 { - function f_mtc_check_precond_TD_VoLTE_ECO_INT_REL_01_02() runs on ImsTestCoordinator { + function f_mtc_check_precond_TD_VoLTE_EMC_INT_REL_01_02() runs on ImsTestCoordinator { log("If the test case fails, please check the preconditions"); - } // End of function f_mtc_check_precond_TD_VoLTE_ECO_INT_REL_01_02 + } // End of function f_mtc_check_precond_TD_VoLTE_EMC_INT_REL_01_02 - } // End of f_TD_VoLTE_ECO_INT_REL_01_02 + } // End of f_TD_VoLTE_EMC_INT_REL_01_02 /** * @desc To perform originating UE session release and the tear down of related dedicated bearers. * @see ETSI TS 103 795-2 Clause 5.3.3.1 UE Initiated Emergency Session Release * @remark This is option 3: PSAP is in PSTN network */ - testcase TD_VoLTE_ECO_INT_REL_01_03() runs on ImsTestCoordinator system IotSystemInterface { + testcase TD_VoLTE_EMC_INT_REL_01_03() runs on ImsTestCoordinator system IotSystemInterface { var IotEquipmentUser v_ueA := f_cf_create_IotEquipmentUser ( c_userUE_A_emergency ); var IotEquipmentUser v_psap := f_cf_create_IotEquipmentUser ( c_psap ); @@ -1891,7 +1891,7 @@ module AtsImsIot_Emergency { // TODO Check OPTIONS from PSAP to E-CSCF } f_mtc_userInitiateCall (v_ueA, v_infoPsap); // Event 1 - f_mtc_check_precond_TD_VoLTE_ECO_INT_REL_01_03(); + f_mtc_check_precond_TD_VoLTE_EMC_INT_REL_01_03(); // Test body //f_mtc_userInitiateCall (v_ueA, v_userTelInfoB); @@ -1927,16 +1927,16 @@ module AtsImsIot_Emergency { setverdict (inconc,"At least one required monitor interface SHALL be selected! Check PIXITs") } f_cf_adapter_down ( ); - } // End of TC TD_VoLTE_ECO_INT_REL_01_03 + } // End of TC TD_VoLTE_EMC_INT_REL_01_03 - group f_TD_VoLTE_ECO_INT_REL_01_03 { + group f_TD_VoLTE_EMC_INT_REL_01_03 { - function f_mtc_check_precond_TD_VoLTE_ECO_INT_REL_01_03() runs on ImsTestCoordinator { + function f_mtc_check_precond_TD_VoLTE_EMC_INT_REL_01_03() runs on ImsTestCoordinator { log("If the test case fails, please check the preconditions"); // TODO Add real code to check pre-conditions - } // End of function f_mtc_check_precond_TD_VoLTE_ECO_INT_REL_01_03 + } // End of function f_mtc_check_precond_TD_VoLTE_EMC_INT_REL_01_03 - } // End of group f_TD_VoLTE_ECO_INT_REL_01_03 + } // End of group f_TD_VoLTE_EMC_INT_REL_01_03 /** * @desc To perform originating PSAP session release and the tear down of related dedicated bearers. @@ -2214,7 +2214,7 @@ module AtsImsIot_Emergency { * @see ETSI TS 103 795-2 Clause 5.3.4.1 Emergency Session Abort * @remark This is option 1: PSAP is in IMS A network */ - testcase TD_VoLTE_ECO_INT_ABT_01_01() runs on ImsTestCoordinator system IotSystemInterface { + testcase TD_VoLTE_EMC_INT_ABT_01_01() runs on ImsTestCoordinator system IotSystemInterface { var IotEquipmentUser v_ueA := f_cf_create_IotEquipmentUser ( c_userUE_A_emergency ); var IotEquipmentUser v_psap := f_cf_create_IotEquipmentUser ( c_psap ); @@ -2248,12 +2248,12 @@ module AtsImsIot_Emergency { } else { // TODO Check OPTIONS from PSAP to E-CSCF } - f_mtc_check_precond_TD_VoLTE_ECO_INT_ABT_01_01(); + f_mtc_check_precond_TD_VoLTE_EMC_INT_ABT_01_01(); f_mtc_userInitiateCall (v_ueA, v_infoPsap); // Event 1 // Test body //f_mtc_userInitiateCall (v_ueA, v_userTelInfoB); - f_mtc_check_TP_GM_PCSCF_ECO_CANCEL_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 1 + f_mtc_check_TP_GM_PCSCF_EMC_CANCEL_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 1 //Rx/Gx exchange after CANCEL was received at P-CSCF f_mtc_check_TP_RX_PCSCF_STR_01(vc_vxlte_monitor_components.rx); // (STR – Event 2 @@ -2291,23 +2291,23 @@ module AtsImsIot_Emergency { setverdict (inconc,"At least one required monitor interface SHALL be selected! Check PIXITs") } f_cf_adapter_down ( ); - } // End of TC TD_VoLTE_ECO_INT_ABT_01_01 + } // End of TC TD_VoLTE_EMC_INT_ABT_01_01 - group f_TD_VoLTE_ECO_INT_ABT_01_01 { + group f_TD_VoLTE_EMC_INT_ABT_01_01 { - function f_mtc_check_precond_TD_VoLTE_ECO_INT_ABT_01_01() runs on ImsTestCoordinator { + function f_mtc_check_precond_TD_VoLTE_EMC_INT_ABT_01_01() runs on ImsTestCoordinator { log("If the test case fails, please check the preconditions"); // TODO Add real code to check pre-conditions - } // End of function f_mtc_check_precond_TD_VoLTE_ECO_INT_ABT_01_01 + } // End of function f_mtc_check_precond_TD_VoLTE_EMC_INT_ABT_01_01 - } // End of group f_TD_VoLTE_ECO_INT_ABT_01_01 + } // End of group f_TD_VoLTE_EMC_INT_ABT_01_01 /** * @desc To perform SIP session abort (originating side) and the related interactions with PCRF A and EPC A. * @see ETSI TS 103 795-2 Clause 5.3.4.1 Emergency Session Abort * @remark This is option 1: PSAP is not in IMS A network */ - testcase TD_VoLTE_ECO_INT_ABT_01_02() runs on ImsTestCoordinator system IotSystemInterface { + testcase TD_VoLTE_EMC_INT_ABT_01_02() runs on ImsTestCoordinator system IotSystemInterface { var IotEquipmentUser v_ueA := f_cf_create_IotEquipmentUser ( c_userUE_A_emergency ); var IotEquipmentUser v_psap := f_cf_create_IotEquipmentUser ( c_psap ); @@ -2341,13 +2341,13 @@ module AtsImsIot_Emergency { } else { // TODO Check OPTIONS from PSAP to E-CSCF } - f_mtc_check_precond_TD_VoLTE_ECO_INT_ABT_01_02(); + f_mtc_check_precond_TD_VoLTE_EMC_INT_ABT_01_02(); f_mtc_userInitiateCall (v_ueA, v_infoPsap); // Event 1 // Test body //f_mtc_userInitiateCall (v_ueA, v_userTelInfoB); - f_mtc_check_TP_GM_PCSCF_ECO_CANCEL_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 1 + f_mtc_check_TP_GM_PCSCF_EMC_CANCEL_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 1 //Rx/Gx exchange after CANCEL was received at P-CSCF f_mtc_check_TP_RX_PCSCF_STR_01(vc_vxlte_monitor_components.rx); // (STR – Event 2 @@ -2391,23 +2391,23 @@ module AtsImsIot_Emergency { setverdict (inconc,"At least one required monitor interface SHALL be selected! Check PIXITs") } f_cf_adapter_down ( ); - } // End of TC TD_VoLTE_ECO_INT_ABT_01_02 + } // End of TC TD_VoLTE_EMC_INT_ABT_01_02 - group f_TD_VoLTE_ECO_INT_ABT_01_02 { + group f_TD_VoLTE_EMC_INT_ABT_01_02 { - function f_mtc_check_precond_TD_VoLTE_ECO_INT_ABT_01_02() runs on ImsTestCoordinator { + function f_mtc_check_precond_TD_VoLTE_EMC_INT_ABT_01_02() runs on ImsTestCoordinator { log("If the test case fails, please check the preconditions"); // TODO Add real code to check pre-conditions - } // End of function f_mtc_check_precond_TD_VoLTE_ECO_INT_ABT_01_02 + } // End of function f_mtc_check_precond_TD_VoLTE_EMC_INT_ABT_01_02 - } // End of group f_TD_VoLTE_ECO_INT_ABT_01_02 + } // End of group f_TD_VoLTE_EMC_INT_ABT_01_02 /** * @desc To perform SIP session abort (originating side) and the related interactions with PCRF A and EPC A. * @see ETSI TS 103 795-2 Clause 5.3.4.1 Emergency Session Abort * @remark This is option 1: PSAP is in PSTN network */ - testcase TD_VoLTE_ECO_INT_ABT_01_03() runs on ImsTestCoordinator system IotSystemInterface { + testcase TD_VoLTE_EMC_INT_ABT_01_03() runs on ImsTestCoordinator system IotSystemInterface { var IotEquipmentUser v_ueA := f_cf_create_IotEquipmentUser ( c_userUE_A_emergency ); var IotEquipmentUser v_psap := f_cf_create_IotEquipmentUser ( c_psap ); @@ -2441,13 +2441,13 @@ module AtsImsIot_Emergency { } else { // TODO Check OPTIONS from PSAP to E-CSCF } - f_mtc_check_precond_TD_VoLTE_ECO_INT_ABT_01_03(); + f_mtc_check_precond_TD_VoLTE_EMC_INT_ABT_01_03(); f_mtc_userInitiateCall (v_ueA, v_infoPsap); // Event 1 // Test body //f_mtc_userInitiateCall (v_ueA, v_userTelInfoB); - f_mtc_check_TP_GM_PCSCF_ECO_CANCEL_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 1 + f_mtc_check_TP_GM_PCSCF_EMC_CANCEL_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 1 //Rx/Gx exchange after CANCEL was received at P-CSCF f_mtc_check_TP_RX_PCSCF_STR_01(vc_vxlte_monitor_components.rx); // (STR – Event 2 @@ -2490,16 +2490,16 @@ module AtsImsIot_Emergency { setverdict (inconc,"At least one required monitor interface SHALL be selected! Check PIXITs") } f_cf_adapter_down ( ); - } // End of TC TD_VoLTE_ECO_INT_ABT_01_03 + } // End of TC TD_VoLTE_EMC_INT_ABT_01_03 - group f_TD_VoLTE_ECO_INT_ABT_01_03 { + group f_TD_VoLTE_EMC_INT_ABT_01_03 { - function f_mtc_check_precond_TD_VoLTE_ECO_INT_ABT_01_03() runs on ImsTestCoordinator { + function f_mtc_check_precond_TD_VoLTE_EMC_INT_ABT_01_03() runs on ImsTestCoordinator { log("If the test case fails, please check the preconditions"); // TODO Add real code to check pre-conditions - } // End of function f_mtc_check_precond_TD_VoLTE_ECO_INT_ABT_01_03 + } // End of function f_mtc_check_precond_TD_VoLTE_EMC_INT_ABT_01_03 - } // End of group f_TD_VoLTE_ECO_INT_ABT_01_03 + } // End of group f_TD_VoLTE_EMC_INT_ABT_01_03 /** * @desc To demonstrate interaction between UE A and PSAP when an emergency session is rejected. diff --git a/ttcn/AtsImsIot/AtsImsIot_TP_behavior_GM.ttcn b/ttcn/AtsImsIot/AtsImsIot_TP_behavior_GM.ttcn index ac59884..a58f008 100644 --- a/ttcn/AtsImsIot/AtsImsIot_TP_behavior_GM.ttcn +++ b/ttcn/AtsImsIot/AtsImsIot_TP_behavior_GM.ttcn @@ -3873,7 +3873,7 @@ module AtsImsIot_TP_behavior_GM { * } * } */ - function f_mtc_check_TP_GM_PCSCF_ECO_CANCEL_01( + function f_mtc_check_TP_GM_PCSCF_EMC_CANCEL_01( in SipInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false, inout SipMessage p_sip @@ -3892,7 +3892,7 @@ module AtsImsIot_TP_behavior_GM { }, { mw_SipRequest(mw_CANCEL_Request_Base) }, { 0, omit }, - "TP_GM_PCSCF_ECO_CANCEL_01", + "TP_GM_PCSCF_EMC_CANCEL_01", true, p_checkMessage ) @@ -3901,7 +3901,7 @@ module AtsImsIot_TP_behavior_GM { // Retrieve messge f_getSipMsgFromMonitor(p_monitorCompRef, p_sip); } - } // End of function f_mtc_check_TP_GM_PCSCF_ECO_CANCEL_01 + } // End of function f_mtc_check_TP_GM_PCSCF_EMC_CANCEL_01 /** * @desc Verify that the P-CSCF successfully processes a CANCEL (Terminating Leg). -- GitLab From 7e5795ab442228266c7918e6e3c33ea9d72b9353 Mon Sep 17 00:00:00 2001 From: garciay Date: Mon, 18 Sep 2023 09:44:47 +0200 Subject: [PATCH 06/32] Review of TTCN-3 implementation & templates of all emergency TPs for the SIP part --- ttcn/AtsImsIot/AtsImsIot_Emergency.ttcn | 14 +- ttcn/AtsImsIot/AtsImsIot_TP_behavior_GM.ttcn | 36 +- .../AtsImsIot_TP_behavior_MW_EC.ttcn | 766 +------------- .../AtsImsIot_TP_behavior_MW_PS.ttcn | 967 ++++++++++++++++-- ttcn/AtsImsIot/AtsImsIot_Templates.ttcn | 26 +- ttcn/AtsImsIot/AtsImsIot_Templates_GM.ttcn | 17 +- 6 files changed, 972 insertions(+), 854 deletions(-) diff --git a/ttcn/AtsImsIot/AtsImsIot_Emergency.ttcn b/ttcn/AtsImsIot/AtsImsIot_Emergency.ttcn index d11d47e..ccaa9b5 100644 --- a/ttcn/AtsImsIot/AtsImsIot_Emergency.ttcn +++ b/ttcn/AtsImsIot/AtsImsIot_Emergency.ttcn @@ -2261,13 +2261,13 @@ module AtsImsIot_Emergency { f_mtc_check_TP_GX_PGW_RAA_03(vc_vxlte_monitor_components.gx); // (RAA – Event 4) f_mtc_check_TP_RX_PCRF_STA_01(vc_vxlte_monitor_components.rx); // (STA – Event 5) - f_mtc_check_TP_MW_PCSCF_ECO_CANCEL_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 6 + f_mtc_check_TP_MW_PCSCF_EMC_CANCEL_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 6 f_mtc_check_TP_MM_ECSCF_ECO_CANCEL_01(vc_vxlte_monitor_components.mmB_PSAP, -, v_sip); // Event 7 f_mtc_check_TP_MW_PCSCF_ECO_200OK_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 17 f_mtc_check_TP_GM_PCSCF_200OK_02(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 18 - f_mtc_check_TP_MW_PCSCF_ECO_487INVITE_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 24 + f_mtc_check_TP_MW_PCSCF_EMC_487INVITE_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 24 f_mtc_check_TP_GM_PCSCF_487INVITE_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 25 f_mtc_check_TP_GM_PCSCF_ECO_ACK_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 26 @@ -2355,7 +2355,7 @@ module AtsImsIot_Emergency { f_mtc_check_TP_GX_PGW_RAA_03(vc_vxlte_monitor_components.gx); // (RAA – Event 4) f_mtc_check_TP_RX_PCRF_STA_01(vc_vxlte_monitor_components.rx); // (STA – Event 5) - f_mtc_check_TP_MW_PCSCF_ECO_CANCEL_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 6 + f_mtc_check_TP_MW_PCSCF_EMC_CANCEL_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 6 f_mtc_check_TP_MW_IBCF_ECO_CANCEL_01(vc_vxlte_monitor_components.mmB_PSAP, -, v_sip); // Event 9 f_mtc_check_TP_IC_IBCF_CANCEL_01(vc_vxlte_monitor_components.ic, true); // CANCEL Event 10 (NOTE: comment out if ISC simulated by Ic) @@ -2366,7 +2366,7 @@ module AtsImsIot_Emergency { f_mtc_check_TP_IC_IBCF_487INVITE_01(vc_vxlte_monitor_components.ic); // Event 20 f_mtc_check_TP_MW_IBCF_ECO_487INVITE_01(vc_vxlte_monitor_components.mmB_PSAP, -, v_sip); // Event 21 - f_mtc_check_TP_MW_PCSCF_ECO_487INVITE_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 24 + f_mtc_check_TP_MW_PCSCF_EMC_487INVITE_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 24 f_mtc_check_TP_GM_PCSCF_487INVITE_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 25 f_mtc_check_TP_GM_PCSCF_ECO_ACK_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 26 @@ -2455,7 +2455,7 @@ module AtsImsIot_Emergency { f_mtc_check_TP_GX_PGW_RAA_03(vc_vxlte_monitor_components.gx); // (RAA – Event 4) f_mtc_check_TP_RX_PCRF_STA_01(vc_vxlte_monitor_components.rx); // (STA – Event 5) - f_mtc_check_TP_MW_PCSCF_ECO_CANCEL_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 6 + f_mtc_check_TP_MW_PCSCF_EMC_CANCEL_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 6 f_mtc_check_TP_MI_BGCF_ECO_CANCEL_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 13 f_mtc_check_TP_MM_ECSCF_ECO_CANCEL_01(vc_vxlte_monitor_components.mmB_PSAP, -, v_sip); // Event 14 @@ -2465,7 +2465,7 @@ module AtsImsIot_Emergency { f_mtc_check_TP_MM_ECSCF_ECO_487INVITE_01(vc_vxlte_monitor_components.mmB_PSAP, -, v_sip); // Event 22 f_mtc_check_TP_MI_BGCF_ECO_487INVITE_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 23 - f_mtc_check_TP_MW_PCSCF_ECO_487INVITE_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 24 + f_mtc_check_TP_MW_PCSCF_EMC_487INVITE_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 24 f_mtc_check_TP_GM_PCSCF_487INVITE_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 25 f_mtc_check_TP_GM_PCSCF_ECO_ACK_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 26 @@ -2992,7 +2992,7 @@ module AtsImsIot_Emergency { f_mtc_userRadioEnabled ( v_ueA, false, true ); // test body // Check that user A starts initial network attachment - f_mtc_check_TP_GX_PCRF_ECO_CCA_02 ( vc_vxlte_monitor_components.gx, false ); // Check (CCA – Event 3) + f_mtc_check_TP_GX_PCRF_EMC_CCA_01(vc_vxlte_monitor_components.gx, false);//f_mtc_check_TP_GX_PCRF_ECO_CCA_02 ( vc_vxlte_monitor_components.gx, false ); // Check (CCA – Event 3) //postamble diff --git a/ttcn/AtsImsIot/AtsImsIot_TP_behavior_GM.ttcn b/ttcn/AtsImsIot/AtsImsIot_TP_behavior_GM.ttcn index a58f008..f8d01ae 100644 --- a/ttcn/AtsImsIot/AtsImsIot_TP_behavior_GM.ttcn +++ b/ttcn/AtsImsIot/AtsImsIot_TP_behavior_GM.ttcn @@ -272,7 +272,7 @@ module AtsImsIot_TP_behavior_GM { in boolean p_checkMessage := false ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)) { - var ImsUserInfo v_userInfoA := f_getSipUserId(PX_EUT_A); + var ImsUserInfo v_userInfoA := f_getSipUserId(PX_EUT_A_EMERGENCY); var SipMessage v_sip; // Check the first REGISTER @@ -488,7 +488,7 @@ module AtsImsIot_TP_behavior_GM { in boolean p_checkMessage := false ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)){ - var ImsUserInfo v_userInfoA := f_getSipUserId(PX_EUT_A); + var ImsUserInfo v_userInfoA := f_getSipUserId(PX_EUT_A_EMERGENCY); var SipMessage v_sip; // Check the first REGISTER @@ -675,7 +675,7 @@ module AtsImsIot_TP_behavior_GM { in boolean p_checkMessage := false ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)) { - var ImsUserInfo v_userInfoA := f_getSipUserId(PX_EUT_A); // User removed from HSS + var ImsUserInfo v_userInfoA := f_getSipUserId(PX_EUT_A_EMERGENCY); // User removed from HSS var SipMessage v_sip; // Check the first REGISTER @@ -828,7 +828,7 @@ module AtsImsIot_TP_behavior_GM { in boolean p_checkMessage := false ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)){ - var ImsUserInfo v_userInfoA := f_getSipUserId(PX_EUT_A); + var ImsUserInfo v_userInfoA := f_getSipUserId(PX_EUT_A_EMERGENCY); var SipMessage v_sip; // Check the first REGISTER @@ -947,7 +947,7 @@ module AtsImsIot_TP_behavior_GM { in boolean p_checkMessage := false ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)){ - var ImsUserInfo v_userInfoA := f_getSipUserId(PX_EUT_A); + var ImsUserInfo v_userInfoA := f_getSipUserId(PX_EUT_A_EMERGENCY); var SipMessage v_sip; // Check the first REGISTER @@ -956,9 +956,9 @@ module AtsImsIot_TP_behavior_GM { { mw_SipRequest( mw_TP_GM_PCSCF_ECO_REGISTER_05( - mw_From_AddrUnion_SipUrl(omit, v_userInfoA.publicId, v_userInfoA.domain), - mw_To_AddrUnion_SipUrl(omit, v_userInfoA.publicId, v_userInfoA.domain), - mw_Authorization_other + mw_From_AddrUnion_SipUrl(omit, v_userInfoA.publicId, v_userInfoA.domain), + mw_To_AddrUnion_SipUrl(omit, v_userInfoA.publicId, v_userInfoA.domain), + mw_Authorization_other ) ) }, @@ -1548,15 +1548,15 @@ module AtsImsIot_TP_behavior_GM { ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)){ var ImsUserInfo v_userInfoA := f_getTelUserId(PX_EUT_A_EMERGENCY); - var ImsUserInfo v_userInfoB := f_getTelUserId(PX_PSAP); + var ImsUserInfo v_psap := f_getTelUserId(PX_PSAP); // Check the INVITE p_monitorCompRef.start( f_Iot_Sip_receive( { mw_SipRequest(mw_TP_GM_PCSCF_ECO_INVITE_01( -, // FIXME Set expected value - mw_SipUrl_Anonymous, - mw_To_AddrUnion_TelUrl(v_userInfoB.publicId) + mw_From_AddrUnion_TelUrl(mw_SipUrl_Anonymous.components.sip.userInfo.userOrTelephoneSubscriber), + mw_To_AddrUnion_TelUrl(v_psap.publicId) )) }, { mw_SipRequest(mw_INVITE_Request_Base) }, @@ -1774,8 +1774,8 @@ module AtsImsIot_TP_behavior_GM { out SipMessage p_sip ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)){ - var ImsUserInfo v_userInfoA := f_getSipUserId(PX_EUT_A); - var ImsUserInfo v_userInfoB := f_getSipUserId(PX_EUT_B); + var ImsUserInfo v_userInfoA := f_getSipUserId(PX_EUT_A_EMERGENCY); + var ImsUserInfo v_psap := f_getSipUserId(PX_PSAP); // Check the INVITE p_monitorCompRef.start( @@ -1784,7 +1784,7 @@ module AtsImsIot_TP_behavior_GM { mw_SipRequest(mw_TP_GM_PCSCF_ECO_INVITE_03( -, // FIXME Set expected value mw_From_AddrUnion_SipUrl(omit, v_userInfoA.publicId, v_userInfoA.domain), - mw_To_AddrUnion_SipUrl(omit, v_userInfoB.publicId, v_userInfoB.domain) + mw_To_AddrUnion_SipUrl(omit, v_psap.publicId, v_psap.domain) )) }, { mw_SipRequest(mw_INVITE_Request_Base) }, @@ -1834,8 +1834,8 @@ module AtsImsIot_TP_behavior_GM { out SipMessage p_sip ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)){ - var ImsUserInfo v_userInfoA := f_getSipUserId(PX_EUT_A); - var ImsUserInfo v_userInfoB := f_getSipUserId(PX_EUT_B); + var ImsUserInfo v_userInfoA := f_getSipUserId(PX_EUT_A_EMERGENCY); + var ImsUserInfo v_psap := f_getSipUserId(PX_PSAP); // Check the INVITE p_monitorCompRef.start( @@ -1844,11 +1844,11 @@ module AtsImsIot_TP_behavior_GM { mw_SipRequest(mw_TP_GM_PCSCF_ECO_INVITE_04( -, // FIXME Set expected value mw_From_AddrUnion_SipUrl(omit, v_userInfoA.publicId, v_userInfoA.domain), - mw_To_AddrUnion_SipUrl(omit, v_userInfoB.publicId, v_userInfoB.domain), + mw_To_AddrUnion_SipUrl(omit, v_psap.publicId, v_psap.domain), -, -, mw_PPreferredID, mw_accept({mw_acceptBody("application/EmergencyCallData.Control+xml")}), - mw_recevInfo({mw_infoPackage_Type("EmergencyCallData.eCall.MSD")}) + mw_recvInfo({mw_infoPackage_Type("EmergencyCallData.eCall.MSD")}) )) }, { mw_SipRequest(mw_INVITE_Request_Base) }, diff --git a/ttcn/AtsImsIot/AtsImsIot_TP_behavior_MW_EC.ttcn b/ttcn/AtsImsIot/AtsImsIot_TP_behavior_MW_EC.ttcn index e73f457..1ccc491 100644 --- a/ttcn/AtsImsIot/AtsImsIot_TP_behavior_MW_EC.ttcn +++ b/ttcn/AtsImsIot/AtsImsIot_TP_behavior_MW_EC.ttcn @@ -4,7 +4,7 @@ * @desc This module provides the TP behaviour functions at Mw interface at P-CSCF/E-CSCF */ -module AtsImsIot_TP_behavior_MW_EC { +module AtsImsIot_TP_behavior_MW_EC { // TODO: To be removed // LibIms import from LibIms_Templates all; @@ -30,768 +30,4 @@ module AtsImsIot_TP_behavior_MW_EC { import from AtsImsIot_TypesAndValues all; import from AtsImsIot_Functions all; - group imsInvite { - - /** - * @desc "Verify that the P-CSCF successfully processes an initial INVITE from an unregistered UE." - * Reference - * "ETSI TS 124 229 [1], Clauses 5.2.10.2 and 5.2.6.3.3" - * Config Id CF_VxLTE_INT - * PICS Selection NONE - * Initial conditions with { - * the UE_A entity isAttachedTo the EPC_A and - * the UE_A entity not isRegisteredTo the IMS_A and - * the UE_A entity not isEmergencyRegisteredTo the IMS_A - * } - * Expected behaviour - * ensure that { - * when { - * the IMS_P_CSCF_A entity receives an INVITE containing - * From indicating value "Anonymous", - * To indicating value PX_SIP_EMERGENCY_SERVICE_URN, - * CallId indicating value PX_UE_A_CALLID, - * Via indicating value PX_UE_A_VIA, - * Route indicating value PX_UE_A_SERVICE_ROUTE, - * MessageBody; - * from the UE_A entity - * } - * then { - * the IMS_P_CSCF_A entity sends an INVITE containing - * From indicating value "Anonymous", - * To indicating value PX_SIP_EMERGENCY_SERVICE_URN, - * CallId indicating value PX_UE_A_CALLID, - * Via indicating value PX_P_CSCF_A_VIA, - * Route indicating value PX_E_CSCF_SERVICE_ROUTE, - * MessageBody; - * to the IMS_E_CSCF entity - * } - * } - */ - function f_mtc_check_TP_MW_PCSCF_ECO_INVITE_01( - in SipInterfaceMonitor p_monitorCompRef, - in boolean p_checkMessage := false, - out SipMessage p_sip - ) runs on ImsTestCoordinator { - if (isvalue(p_monitorCompRef)) { - var ImsUserInfo v_userInfoA := f_getTelUserId(PX_EUT_A); - var ImsUserInfo v_psapInfo := f_getSipUserId(PX_PSAP); - - // Check the INVITE - p_monitorCompRef.start( - f_Iot_Sip_receive( - { mw_SipRequest(mw_TP_MW_ECSCF_INVITE_01( - -, // FIXME Set expected value - mw_From_AddrUnion_TelUrl(-), // v_userInfoA.publicId - mw_To_AddrUnion_TelUrl(-) // v_psapInfo.publicId - )) - }, - { mw_SipRequest(mw_INVITE_Request_Base) }, - {0, omit}, - "TP_MW_ECSCF_INVITE_01 - Request", - true, - p_checkMessage - ) - ); - p_monitorCompRef.done; - // Retrieve messge - f_getSipMsgFromMonitor(p_monitorCompRef, p_sip); - log("##### p_sip: ", p_sip); - } - } // End of function f_mtc_check_TP_MW_PCSCF_ECO_INVITE_01 - - /** - * @desc "Verify that the P-CSCF successfully processes an initial INVITE from an registered UE." - * Reference - * "ETSI TS 124 229 [1], Clauses 5.2.10.3 and 5.2.6.3.3" - * Config Id CF_VxLTE_INT - * PICS Selection NONE - * Initial conditions with { - * the UE_A entity isAttachedTo the EPC_A and - * the UE_A entity isEmergencyRegisteredTo the IMS_A - * } - * Expected behaviour - * ensure that { - * when { - * the IMS_P_CSCF_A entity receives an INVITE containing - * From indicating value PX_UE_A_SIP_URI, - * To indicating value PX_SIP_EMERGENCY_SERVICE_URN, - * CallId indicating value PX_UE_A_CALLID, - * Via indicating value PX_UE_A_VIA, - * Route indicating value PX_UE_A_SERVICE_ROUTE, - * PPreferredIdentity, // one or two instances - * MessageBody; - * from the UE_A entity - * } - * then { - * the IMS_P_CSCF_A entity sends an INVITE containing - * From indicating valuePX_UE_A_SIP_URI, - * To indicating value PX_SIP_EMERGENCY_SERVICE_URN, - * CallId indicating value PX_UE_A_CALLID, - * Via indicating value PX_P_CSCF_A_VIA, - * Route indicating value PX_E_CSCF_SERVICE_ROUTE, // 5.2.10.3 1B) option is assumed - * PAssertedIdentity, - * MessageBody; - * to the IMS_E_CSCF entity - * } - * } - */ - function f_mtc_check_TP_MW_PCSCF_ECO_INVITE_02( - in SipInterfaceMonitor p_monitorCompRef, - in boolean p_checkMessage := false, - out SipMessage p_sip - ) runs on ImsTestCoordinator { - if (isvalue(p_monitorCompRef)) { - var ImsUserInfo v_userInfoA := f_getTelUserId(PX_EUT_A_EMERGENCY); - var ImsUserInfo v_psapInfo := f_getSipUserId(PX_PSAP); - - // Check the INVITE - p_monitorCompRef.start( - f_Iot_Sip_receive( - { mw_SipRequest(mw_TP_MW_ECSCF_INVITE_02( - -, // FIXME Set expected value - ( - mw_From_NameAddr_SipUrl({quotedString:=v_psapInfo.publicId}, v_psapInfo.publicId, v_psapInfo.domain), - mw_From_AddrUnion_TelUrl(v_psapInfo.publicId) - ), - ( - mw_To_NameAddr_SipUrl({quotedString:=v_userInfoA.publicId}, v_userInfoA.publicId/*, v_userInfoA.domain*/), - mw_To_AddrUnion_TelUrl(-)//v_userInfoA.publicId - ) - )) - }, - { mw_SipRequest(mw_INVITE_Request_Base) }, - {0, omit}, - "TP_MW_PCSCF_INVITE_02 - Request", - true, - p_checkMessage - ) - ); - p_monitorCompRef.done; - // Retrieve messge - f_getSipMsgFromMonitor(p_monitorCompRef, p_sip); - log("##### p_sip: ", p_sip); - } - } // End of function f_mtc_check_TP_MW_PCSCF_ECO_INVITE_02 - - function f_mtc_check_TP_MW_PCSCF_ECO_INVITE_03( - in SipInterfaceMonitor p_monitorCompRef, - in boolean p_checkMessage := false, - out SipMessage p_sip - ) runs on ImsTestCoordinator { - if (isvalue(p_monitorCompRef)) { - var ImsUserInfo v_userInfoA := f_getTelUserId(PX_EUT_A_EMERGENCY); - var ImsUserInfo v_psapInfo := f_getSipUserId(PX_PSAP); - - // Check the INVITE - p_monitorCompRef.start( - f_Iot_Sip_receive( - { mw_SipRequest(mw_TP_MW_ECSCF_INVITE_02( - -, // FIXME Set expected value - ( - mw_From_NameAddr_SipUrl({quotedString:=v_psapInfo.publicId}, v_psapInfo.publicId, v_psapInfo.domain), - mw_From_AddrUnion_TelUrl(v_psapInfo.publicId) - ), - ( - mw_To_NameAddr_SipUrl({quotedString:=v_userInfoA.publicId}, v_userInfoA.publicId/*, v_userInfoA.domain*/), - mw_To_AddrUnion_TelUrl(-)//v_userInfoA.publicId - ) - )) - }, - { mw_SipRequest(mw_INVITE_Request_Base) }, - {0, omit}, - "TP_MW_PCSCF_INVITE_02 - Request", - true, - p_checkMessage - ) - ); - p_monitorCompRef.done; - // Retrieve messge - f_getSipMsgFromMonitor(p_monitorCompRef, p_sip); - log("##### p_sip: ", p_sip); - } - } // End of function f_mtc_check_TP_MW_PCSCF_ECO_INVITE_03 - - } // End of group imsInvite - - group ims100Trying { - - /** - * @desc Verify that the P-CSCF successfully processes a 100 (Trying) provisional response on initial INVITE (Originating Leg). - * Initial conditions with { - * the UE_A entity isAttachedTo the EPC_A and - * the PSAP entity isAttachedTo the EPC_B and - * the UE_A entity isRegisteredTo the IMS_A and - * the PSAP entity isRegisteredTo the IMS_B - * } - * - * Expected behaviour - * ensure that { - * when { - * the IMS_P_CSCF_A entity receives a 100_Trying - * from the IMS_E_CSCF_A entity - * } - * then { - * the IMS_P_CSCF_A entity sends a 100_Trying - * to the UE_A entity - * } - * } - */ - function f_mtc_check_TP_MW_PCSCF_ECO_100Trying_01( - in SipInterfaceMonitor p_monitorCompRef, - in boolean p_checkMessage := false, - in SipMessage p_sip - ) runs on ImsTestCoordinator { - if (isvalue(p_monitorCompRef)) { - // Check the 100 TRYING - p_monitorCompRef.start( - f_Iot_Sip_receive( - { mw_SipResponse(mw_TP_MW_ECSCF_100Trying_01( - p_sip.request.msgHeader.cSeq, - p_sip.request.msgHeader.fromField, - p_sip.request.msgHeader.toField - )) - }, - { mw_SipResponse(mw_100Trying_Base) }, - { 0, omit }, - "TP_MW_ECSCF_100Trying_01", - false, - p_checkMessage - ) - ); - p_monitorCompRef.done; - } - } // End of function f_mtc_check_TP_MW_PCSCF_ECO_100Trying_01 - - } // End of group ims100Trying - - group ims180Ringing { - - /** - * @desc Verify that the P-CSCF successfully processes a 180 (Ringing) provisional response on initial INVITE (Originating Leg). - * Initial conditions with { - * the UE_A entity isAttachedTo the EPC_A and - * the PSAP entity isAttachedTo the EPC_B and - * the UE_A entity isRegisteredTo the IMS_A and - * the PSAP entity isRegisteredTo the IMS_B - * } - * - * Expected behaviour - * ensure that { - * when { - * the IMS_P_CSCF_A entity receives a 180_Ringing containing - * From indicating value PX_PSAP_SIP_URI, - * To indicating value PX_UE_A_SIP_URI, - * CallId indicating value PX_PSAP_CALLID, - * Via indicating value PX_PSAP_VIA, - * Route indicating value PX_PSAP_SERVICE_ROUTE - * ; - * from the IMS_E_CSCF_A entity - * } - * then { - * the IMS_P_CSCF_A entity sends a 180_Ringing containing - * From indicating value PX_PSAP_SIP_URI, - * To indicating value PX_UE_A_SIP_URI, - * CallId indicating value PX_PSAP_CALLID, - * Via indicating value PX_PSAP_VIA, - * Route indicating value PX_PSAP_SERVICE_ROUTE - * ; - * to the UE_A entity - * } - * } - */ - function f_mtc_check_TP_MW_PCSCF_ECO_180RINGING_01( - in SipInterfaceMonitor p_monitorCompRef, - in boolean p_checkMessage := false, - in SipMessage p_sip - ) runs on ImsTestCoordinator { - if (isvalue(p_monitorCompRef)) { - // Check the 180 RINGING - p_monitorCompRef.start( - f_Iot_Sip_receive( - { mw_SipResponse(mw_TP_MW_ECSCF_180Ringing_01( - p_sip.request.msgHeader.cSeq, - p_sip.request.msgHeader.fromField, - mw_To_NameAddr_TelUrl( - -, - p_sip.request.msgHeader.toField.addressField.addrSpecUnion.components.tel.subscriber - ))) - }, - { mw_SipResponse(mw_180Ringing_Base) }, - { 0, omit }, - "TP_MW_ECSCF_180RINGING_01", - false, - p_checkMessage - ) - ); - p_monitorCompRef.done; - } - } // End of function f_mtc_check_TP_MW_PCSCF_ECO_180RINGING_01 - - } // End of group ims180Ringing - - group ims183SessionProgress { - - /** - * @desc Verify that the P-CSCF successfully processes a 183 (Ringing) provisional response on initial INVITE (Originating Leg). - * Initial conditions with { - * the UE_A entity isAttachedTo the EPC_A and - * the PSAP entity isAttachedTo the EPC_B and - * the UE_A entity isRegisteredTo the IMS_A and - * the PSAP entity isRegisteredTo the IMS_B - * } - * - * Expected behaviour - * ensure that { - * when { - * the IMS_P_CSCF_A entity receives a 183_SessionProgress containing - * From indicating value PX_SAP_URI, - * To indicating value PX_UE_A_SIP_URI, - * CallId indicating value PX_SAP_CALLID, - * Via indicating value PX_PSAP_VIA, - * Route indicating value PX_PSAP_SERVICE_ROUTE - * ; - * from the IMS_E_CSCF_A entity - * } - * then { - * the IMS_P_CSCF_A entity sends a 183_SessionProgress containing - * From indicating value PX_PSAP_SIP_URI, - * To indicating value PX_UE_A_SIP_URI, - * CallId indicating value PX_PSAP_CALLID, - * Via indicating value PX_PSAP_VIA, - * Route indicating value PX_PSAP_SERVICE_ROUTE - * ; - * to the UE_A entity - * } - * } - */ - function f_mtc_check_TP_MW_PCSCF_ECO_183SESSION_PROGRESS_01( - in SipInterfaceMonitor p_monitorCompRef, - in boolean p_checkMessage := false, - in SipMessage p_sip - ) runs on ImsTestCoordinator { - if (isvalue(p_monitorCompRef)) { - // Check the 183 SESSION_PROGRESS - p_monitorCompRef.start( - f_Iot_Sip_receive( - { mw_SipResponse(mw_TP_MW_ECSCF_183SessionProgress_01( - p_sip.request.msgHeader.cSeq, - p_sip.request.msgHeader.fromField, - p_sip.request.msgHeader.toField - )) - }, - { mw_SipResponse(mw_183SessionProgress_Base) }, - { 0, omit }, - "TP_MW_ECSCF_183SESSION_PROGRESS_01", - false, - p_checkMessage - ) - ); - p_monitorCompRef.done; - } - } // End of function f_mtc_check_TP_MW_PCSCF_ECO_183SESSION_PROGRESS_01 - - } // End of group ims183SessionProgress - - group ims200Ok { - - /** - * @desc Verify that the P-CSCF successfully processes a 200 (OK) provisional response on initial INVITE (Originating Leg). - * Initial conditions with { - * the UE_A entity isAttachedTo the EPC_A and - * the PSAP entity isAttachedTo the EPC_B and - * the UE_A entity isRegisteredTo the IMS_A and - * the PSAP entity isRegisteredTo the IMS_B - * } - * - * Expected behaviour - * ensure that { - * when { - * the IMS_P_CSCF_A entity receives a 200_Ok containing - * From indicating value PX_PSAP_SIP_URI, - * To indicating value PX_UE_A_SIP_URI, - * CallId indicating value PX_PSAP_CALLID, - * Via indicating value PX_PSAP_VIA, - * Route indicating value PX_PSAP_SERVICE_ROUTE, - * not PChargingVector, - * not PChargingFunctionAddresses, - * not PPreferredIdentity - * ; - * from the IMS_E_CSCF_A entity - * } - * then { - * the IMS_P_CSCF_A entity sends a 200_Ok containing - * From indicating value PX_PSAP_SIP_URI, - * To indicating value PX_UE_A_SIP_URI, - * CallId indicating value PX_PSAP_CALLID, - * Via indicating value PX_PSAP_VIA, - * Route indicating value PX_PSAP_SERVICE_ROUTE, - * PChargingVector, - * PChargingFunctionAddresses, - * PPreferredIdentity - * ; - * to the UE_A entity - * } - * } - */ - function f_mtc_check_TP_MW_PCSCF_ECO_200OK_01( - in SipInterfaceMonitor p_monitorCompRef, - in boolean p_checkMessage := false, - in SipMessage p_sip - ) runs on ImsTestCoordinator { - if (isvalue(p_monitorCompRef)) { - var ImsUserInfo v_psapInfo := f_getSipUserId(PX_EUT_B); - - // Check the 200 OK - p_monitorCompRef.start( - f_Iot_Sip_receive( - { mw_SipResponse(mw_200OK( - p_sip.request.msgHeader.cSeq, - p_sip.request.msgHeader.callId, - p_sip.request.msgHeader.fromField, - ( - mw_To_NameAddr_TelUrl({quotedString:=f_getSipUserId(PX_EUT_B).publicId}), - mw_To_AddrUnion_TelUrl(f_getTelUserId(PX_EUT_B).publicId), - p_sip.request.msgHeader.toField - ) - )) - }, - { mw_SipResponse(mw_200OK_Base) }, - { 0, omit }, - "TP_MW_ECSCF_200OK_01", - false, - p_checkMessage - ) - ); - p_monitorCompRef.done; - - } - } // End of function f_mtc_check_TP_MW_PCSCF_ECO_200OK_01 - - } // End of group ims200Ok - - group imsAck { - - /** - * @desc Verify that the P-CSCF successfully processes a ACK provisional response on initial INVITE (Originating Leg). - * Initial conditions with { - * the UE_A entity isAttachedTo the EPC_A and - * the PSAP entity isAttachedTo the EPC_B and - * the UE_A entity isRegisteredTo the IMS_A and - * the PSAP entity isRegisteredTo the IMS_B - * } - * - * Expected behaviour - * ensure that { - * when { - * the IMS_P_CSCF_A entity receives an ACK containing - * From indicating value PX_UE_A_SIP_URI, - * To indicating value PX_PSAP_SIP_URI, - * CallId indicating value PX_UE_A_CALLID, - * Via indicating value PX_UE_A_VIA, - * Route indicating value PX_UE_A_SERVICE_ROUTE - * ; - * from the UE_A entity - * } - * then { - * the IMS_P_CSCF_A entity sends an ACK containing - * From indicating value PX_UE_A_SIP_URI, - * To indicating value PX_PSAP_SIP_URI, - * CallId indicating value PX_UE_A_CALLID, - * Via indicating value PX_UE_A_VIA, - * Route indicating value PX_UE_A_SERVICE_ROUTE - * ; - * from the IMS_E_CSCF_A entity - * } - * } - */ - function f_mtc_check_TP_MW_PCSCF_ECO_ACK_01( - in SipInterfaceMonitor p_monitorCompRef, - in boolean p_checkMessage := false, - in SipMessage p_sip - ) runs on ImsTestCoordinator { - if (isvalue(p_monitorCompRef)) { - // Check the ACK - p_monitorCompRef.start( - f_Iot_Sip_receive( - { mw_SipRequest(mw_TP_MW_ECSCF_ACK_01( - p_sip.request.msgHeader.callId, - p_sip.request.msgHeader.cSeq, - -, // FIXME To be set - p_sip.request.msgHeader.fromField, - p_sip.request.msgHeader.toField - )) - }, - { mw_SipRequest(mw_ACK_Request_Base) }, - { 0, omit }, - "TP_MW_ECSCF_ACK_01 - Request", - false, - p_checkMessage - ) - ); - p_monitorCompRef.done; - } - } // End of function f_mtc_check_TP_MW_PCSCF_ECO_ACK_01 - - } // End of group imsAck - - group imsBye { - - /** - * @desc Verify that the P-CSCF successfully processes a BYE (Originating Leg). - * Initial conditions with { - * the UE_A entity isAttachedTo the EPC_A and - * the UE_B entity isAttachedTo the EPC_B and - * the UE_A entity isRegisteredTo the IMS_A and - * the UE_B entity isRegisteredTo the IMS_B and - * the UE_A entity previouslyEstablishedCallWith the UE_B - * } - * - * Expected behaviour - * ensure that { - * when { - * the IMS_P_CSCF_A entity receives a BYE containing - * From indicating value PX_UE_A_SIP_URI, - * To indicating value PX_UE_B_SIP_URI, - * CallId indicating value PX_UE_A_CALLID, - * Via indicating value PX_UE_A_VIA, - * Route indicating value PX_UE_A_SERVICE_ROUTE - * ; - * from the UE_A entity - * } - * then { - * the IMS_P_CSCF_A entity sends a BYE containing - * From indicating value PX_UE_A_SIP_URI, - * To indicating value PX_UE_B_SIP_URI, - * CallId indicating value PX_UE_A_CALLID, - * Via indicating value PX_UE_A_VIA, - * Route indicating value PX_UE_A_SERVICE_ROUTE - * ; - * from the IMS_E_CSCF_A entity - * } - * } - */ - function f_mtc_check_TP_MW_PCSCF_ECO_BYE_01( - in SipInterfaceMonitor p_monitorCompRef, - in boolean p_checkMessage := false, - inout SipMessage p_sip - ) runs on ImsTestCoordinator { - if (isvalue(p_monitorCompRef)) { - // Check the BYE - p_monitorCompRef.start( - f_Iot_Sip_receive( - { mw_SipRequest(mw_TP_MW_ECSCF_BYE_01( - p_sip.request.msgHeader.callId, - -, // New CSeq - -, // FIXME To be set - p_sip.request.msgHeader.fromField, - p_sip.request.msgHeader.toField - )) - }, - { mw_SipRequest(mw_BYE_Request_Base) }, - { 0, omit }, - "TP_MW_ECSCF_ECO_BYE_01 - Request", - true, - p_checkMessage - ) - ); - p_monitorCompRef.done; - // Retrieve messge - f_getSipMsgFromMonitor(p_monitorCompRef, p_sip); - } - } // End of function f_mtc_check_TP_MW_PCSCF_ECO_BYE_01 - - function f_mtc_check_TP_MW_PCSCF_ECO_BYE_02( - in SipInterfaceMonitor p_monitorCompRef, - in boolean p_checkMessage := false, - inout SipMessage p_sip - ) runs on ImsTestCoordinator { - if (isvalue(p_monitorCompRef)) { - // Check the BYE - p_monitorCompRef.start( - f_Iot_Sip_receive( - { mw_SipRequest(mw_TP_MW_ECSCF_BYE_01( - p_sip.request.msgHeader.callId, - -, // New CSeq - -, // FIXME To be set - p_sip.request.msgHeader.fromField, - p_sip.request.msgHeader.toField - )) - }, - { mw_SipRequest(mw_BYE_Request_Base) }, - { 0, omit }, - "TP_MW_ECSCF_ECO_BYE_02 - Request", - true, - p_checkMessage - ) - ); - p_monitorCompRef.done; - // Retrieve messge - f_getSipMsgFromMonitor(p_monitorCompRef, p_sip); - } - } // End of function f_mtc_check_TP_MW_PCSCF_ECO_BYE_02 - - } // End of group imsBye - - group ims200OkBye { - - /** - * @desc Verify that the P-CSCF successfully processes a 200 (OK) BYE (Originating Leg). - * Initial conditions with { - * the UE_A entity isAttachedTo the EPC_A and - * the UE_B entity isAttachedTo the EPC_B and - * the UE_A entity isRegisteredTo the IMS_A and - * the UE_B entity isRegisteredTo the IMS_B - * } - * - * Expected behaviour - * ensure that { - * when { - * the IMS_P_CSCF_A entity sends a 200_Ok containing - * From indicating value PX_UE_A_SIP_URI, - * To indicating value PX_UE_B_SIP_URI, - * CallId indicating value PX_UE_A_CALLID, - * Via indicating value PX_UE_A_VIA, - * Route indicating value PX_UE_A_SERVICE_ROUTE, - * not PChargingVector, - * not PChargingFunctionAddresses, - * not PPreferredIdentity - * ; - * to the IMS_E_CSCF_A entity - * } - * then { - * the IMS_P_CSCF_A entity sends a 200_Ok containing - * From indicating value PX_UE_A_SIP_URI, - * To indicating value PX_UE_B_SIP_URI, - * CallId indicating value PX_UE_A_CALLID, - * Via indicating value PX_UE_A_VIA, - * Route indicating value PX_UE_A_SERVICE_ROUTE, - * not PChargingVector, - * not PChargingFunctionAddresses, - * not PPreferredIdentity - * ; - * to the UE_A entity - * } - * } - */ - function f_mtc_check_TP_MW_PCSCF_ECO_200OK_BYE_01( - in SipInterfaceMonitor p_monitorCompRef, - in boolean p_checkMessage := false, - in SipMessage p_sip - ) runs on ImsTestCoordinator { - if (isvalue(p_monitorCompRef)) { - // Check the 200 OK BYE - p_monitorCompRef.start( - f_Iot_Sip_receive( - { mw_SipResponse(mw_200OK( - p_sip.request.msgHeader.cSeq, - p_sip.request.msgHeader.callId, - p_sip.request.msgHeader.fromField, - p_sip.request.msgHeader.toField - )) - }, - { mw_SipResponse(mw_200OK_Base) }, - { 0, omit }, - "TP_MW_ECSCF_200OK_BYE_01", - false, - p_checkMessage - ) - ); - p_monitorCompRef.done; - } - } // End of function f_mtc_check_TP_MW_PCSCF_ECO_200OK_BYE_01 - - function f_mtc_check_TP_MW_PCSCF_ECO_200OK_BYE_02( - in SipInterfaceMonitor p_monitorCompRef, - in boolean p_checkMessage := false, - in SipMessage p_sip - ) runs on ImsTestCoordinator { - if (isvalue(p_monitorCompRef)) { - // Check the 200 OK BYE - p_monitorCompRef.start( - f_Iot_Sip_receive( - { mw_SipResponse(mw_200OK( - p_sip.request.msgHeader.cSeq, - p_sip.request.msgHeader.callId, - p_sip.request.msgHeader.fromField, - p_sip.request.msgHeader.toField - )) - }, - { mw_SipResponse(mw_200OK_Base) }, - { 0, omit }, - "TP_MW_ECSCF_200OK_BYE_01", - false, - p_checkMessage - ) - ); - p_monitorCompRef.done; - } - } // End of function f_mtc_check_TP_MW_PCSCF_ECO_200OK_BYE_02 - - } // End of group ims200OkBye - - group imsCancel { - - function f_mtc_check_TP_MW_PCSCF_ECO_CANCEL_01( - in SipInterfaceMonitor p_monitorCompRef, - in boolean p_checkMessage := false, - inout SipMessage p_sip - ) runs on ImsTestCoordinator { - if (isvalue(p_monitorCompRef)) { - // Check the CANCEL - p_monitorCompRef.start( - f_Iot_Sip_receive( - { mw_SipRequest(mw_TP_MW_ECSCF_CANCEL_01( - p_sip.request.msgHeader.callId, - -, // New CSeq - -, // FIXME To be set - p_sip.request.msgHeader.fromField, - p_sip.request.msgHeader.toField - )) - }, - { mw_SipRequest(mw_CANCEL_Request_Base) }, - { 0, omit }, - "TP_MW_ECSCF_CANCEL_01 - Request", - true, - p_checkMessage - ) - ); - p_monitorCompRef.done; - // Retrieve messge - f_getSipMsgFromMonitor(p_monitorCompRef, p_sip); - } - } // End of function f_mtc_check_TP_MW_PCSCF_ECO_CANCEL_01 - - } // End of group imsCancel - - group imsTemporaryUnavailable { - - function f_mtc_check_TP_MW_PCSCF_ECO_480TEMPAV_01( - in SipInterfaceMonitor p_monitorCompRef, - in boolean p_checkMessage := false, - inout SipMessage p_sip - ) runs on ImsTestCoordinator { - if (isvalue(p_monitorCompRef)) { - // Check the 487 Request Terminated - p_monitorCompRef.start( - f_Iot_Sip_receive( - { - mw_SipResponse(mw_480TemporaryUnavailable(-, p_sip.request.msgHeader.cSeq)) - }, - { - mw_SipResponse(mdw_4XX_Base) - }, - { 0, omit }, - "TP_MW_PCSCF_ECO_480TEMPAV_01", - true, - p_checkMessage - ) - ); - p_monitorCompRef.done; - // Retrieve messge - f_getSipMsgFromMonitor(p_monitorCompRef, p_sip); - } - } // End of function f_mtc_check_TP_MW_PCSCF_ECO_480TEMPAV_01 - - } // End of group imsTemporaryUnavailable - } // End of module AtsImsIot_TP_behavior_MW_EC \ No newline at end of file diff --git a/ttcn/AtsImsIot/AtsImsIot_TP_behavior_MW_PS.ttcn b/ttcn/AtsImsIot/AtsImsIot_TP_behavior_MW_PS.ttcn index 8a2afee..8416a9a 100644 --- a/ttcn/AtsImsIot/AtsImsIot_TP_behavior_MW_PS.ttcn +++ b/ttcn/AtsImsIot/AtsImsIot_TP_behavior_MW_PS.ttcn @@ -216,11 +216,10 @@ module AtsImsIot_TP_behavior_MW_PS { } // End of function f_mtc_check_TP_MW_PCSCF_REGISTER_01 /** - * @desc Verify that the P-CSCF successfully processes a first registration (Successful). + * @desc Verify that the P-CSCF successfully processes a first emergency registration (Successful) * Initial conditions with { - * the UE_A entity isAttachedTo the EPC_A and - * the UE_A entity isNotRegisteredTo the IMS_A and - * the UE_B entity isNotRegisteredTo the IMS_B + * the UE_A entity isEmergencyAttachedTo the EPC_A and + * the UE_A entity not isRegisteredTo the IMS_A * } * * Expected behaviour @@ -231,7 +230,7 @@ module AtsImsIot_TP_behavior_MW_PS { * To indicating value PX_UE_A_SIP_URI, * CallId indicating value PX_UE_A_CALLID, * Via indicating value PX_UE_A_VIA, - * ; + * Contact indicating value "sos";; * from the UE_A entity * } * then { @@ -240,13 +239,14 @@ module AtsImsIot_TP_behavior_MW_PS { * To indicating value PX_UE_A_SIP_URI, * CallId indicating value PX_UE_A_CALLID, * Via indicating value PX_UE_A_VIA, + * Path, * PChargingVector containing * icid indicating value PX_TO_BE_DEFINED, - * PVisitedNetworkID indicating value PX_TO_BE_DEFINED, - * Require_HDR indicating value "path", - * Supported indicating value "path" - * ;; - * to the IMS_I_CSCF_A entity + * PVisitedNetworkID indicating value PX_TO_BE_DEFINED, + * Require indicating value "path", + * Supported indicating value "path", + * Contact indicating value "sos";; + * to the IMS_I_CSCF_A entity * and the IMS_P_CSCF_A entity sends an 401_Unauthorized containing * From indicating value PX_UE_A_SIP_URI, * To indicating value PX_UE_A_SIP_URI, @@ -260,8 +260,7 @@ module AtsImsIot_TP_behavior_MW_PS { * Realm indicating value PX_UE_A_REALM, * Algorithm indicating value PX_UE_A_AUTH_ALG, * Nonce indicating value "not empty", - * qop indicating value "auth";, - * Contact indicating value "sos"; + * qop indicating value "auth";; * to the UE_A entity * } * } @@ -271,7 +270,7 @@ module AtsImsIot_TP_behavior_MW_PS { in boolean p_checkMessage := false ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)) { - var ImsUserInfo v_userInfoA := f_getSipUserId(PX_EUT_A); + var ImsUserInfo v_userInfoA := f_getSipUserId(PX_EUT_A_EMERGENCY); var SipMessage v_sip; // Check first REGISTER request @@ -292,7 +291,7 @@ module AtsImsIot_TP_behavior_MW_PS { mw_SipRequest(mw_REGISTER_Request_Base) }, {0, omit}, - "TP_MW_PCSCF_REGISTER_01 - First request", + "TP_MW_PCSCF_ECO_REGISTER_01 - First request", true, p_checkMessage ) @@ -451,12 +450,75 @@ module AtsImsIot_TP_behavior_MW_PS { } } // End of function f_mtc_check_TP_MW_PCSCF_REGISTER_02 + /** + * @desc Verify that the P-CSCF successfully processes a full emergency registration (Successful) + * Initial conditions with { + * the UE_A entity isEmergencyAttachedTo the EPC_A and + * the UE_A entity not isRegisteredTo the IMS_A and + * the UE_A entity hasAchievedFirstREGISTER + * } + * + * Expected behaviour + * ensure that { + * when { + * the IMS_P_CSCF_A entity receives a REGISTER containing + * From indicating value PX_UE_A_SIP_URI, + * To indicating value PX_UE_A_SIP_URI, + * CallId indicating value PX_UE_A_CALLID, + * Via indicating value PX_UE_A_VIA, + * Authorization containing + * Authentication_Scheme indicating value PX_TO_BE_DEFINED, + * Authentication_URI indicating value PX_TO_BE_DEFINED, + * Username indicating value PX_UE_A_USERNAME, + * Realm indicating value PX_UE_A_REALM, + * Algorithm indicating value PX_UE_A_AUTH_ALG, + * Nonce indicating value "not empty", + * qop indicating value "auth", + * Contact indicating value "sos";; + * from the UE_A entity + * } + * then { + * the IMS_P_CSCF_A entity sends a REGISTER containing + * From indicating value PX_UE_A_SIP_URI, + * To indicating value PX_UE_A_SIP_URI, + * CallId indicating value PX_UE_A_CALLID, + * Via indicating value PX_UE_A_VIA, + * Authorization containing + * Authentication_Scheme indicating value PX_TO_BE_DEFINED, + * Authentication_URI indicating value PX_TO_BE_DEFINED, + * Username indicating value PX_UE_A_USERNAME, + * Realm indicating value PX_UE_A_REALM, + * Algorithm indicating value PX_UE_A_AUTH_ALG, + * Nonce indicating value "not empty", + * qop indicating value "auth", + * PChargingVector, + * Contact indicating value "sos";; + * to the IMS_I_CSCF_A entity + * and the IMS_P_CSCF_A entity sends an 200_Ok containing + * From indicating value PX_UE_A_SIP_URI, + * To indicating value PX_UE_A_SIP_URI, + * CallId indicating value PX_UE_A_CALLID, + * Via indicating value PX_UE_A_VIA, + * AuthenticationInfo, + * PAccessNetworkInfo, + * PAssociatedURI indicating value PX_UE_A_SIP_URI, + * PChargingVector, + * orig_ioi_parameter + * indicating value "Operator Identifier Of ImsA" , + * term_ioi_parameter + * indicating value "Operator Identifier Of ImsB" + * Path, + * ServiceRoute; + * to the UE_A entity + * } + * } + */ function f_mtc_check_TP_MW_PCSCF_ECO_REGISTER_02( in SipInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)) { - var ImsUserInfo v_userInfoA := f_getSipUserId(PX_EUT_A); + var ImsUserInfo v_userInfoA := f_getSipUserId(PX_EUT_A_EMERGENCY); var SipMessage v_sip; // Check the second REGISTER @@ -464,18 +526,18 @@ module AtsImsIot_TP_behavior_MW_PS { f_Iot_Sip_receive( { mw_SipRequest( - mw_TP_MW_PCSCF_REGISTER_02( - mw_From_AddrUnion_SipUrl(omit, v_userInfoA.publicId, v_userInfoA.domain), - mw_To_AddrUnion_SipUrl(omit, v_userInfoA.publicId, v_userInfoA.domain), - mw_Authorization_other - ) + mw_TP_MW_PCSCF_ECO_REGISTER_02( + mw_From_AddrUnion_SipUrl(omit, v_userInfoA.publicId, v_userInfoA.domain), + mw_To_AddrUnion_SipUrl(omit, v_userInfoA.publicId, v_userInfoA.domain), + mw_Authorization_other + ) ) }, { mw_SipRequest(mw_REGISTER_Request_Base) }, {0, omit}, - "TP_MW_PCSCF_REGISTER_02 - Second request", + "TP_MW_PCSCF_ECO_REGISTER_02 - Second request", true, p_checkMessage ) @@ -618,62 +680,49 @@ module AtsImsIot_TP_behavior_MW_PS { } // End of function f_mtc_check_TP_MW_PCSCF_REGISTER_03 /** - * @desc Verify that the P-CSCF successfully processes a invalid first registration (Unsuccessful). + * @desc Verify that the P-CSCF rejects invalid credentials within registration (Unsuccessful). * Initial conditions with { - * the UE_A entity isAttachedTo the EPC_A and - * the UE_A entity isNotRegisteredTo the IMS_A and - * the UE_B entity isNotRegisteredTo the IMS_B + * the UE_A entity isAttachedTo the EPC_B and + * the UE_A entity isNotRegisteredTo the IMS_B and + * the UE_B entity isNotRegisteredTo the IMS_B and + * the UE_A entity hasAchievedFirstREGISTER * } * * Expected behaviour * ensure that { * when { - * the IMS_P_CSCF_A entity receives a REGISTER containing + * the IMS_P_CSCF_B entity receives a REGISTER containing * From indicating value PX_UE_A_SIP_URI, * To indicating value PX_UE_A_SIP_URI, * CallId indicating value PX_UE_A_CALLID, * Via indicating value PX_UE_A_VIA, - * Authorization containing - * Authentication_Schema indicating value PX_TO_BE_DEFINED, - * Authentication_URI indicating value PX_TO_BE_DEFINED, - * Username indicating value PX_UE_A_INVALID_USERNAME, - * Realm indicating value PX_UE_A_REALM, - * Algorithm indicating value PX_UE_A_AUTH_ALG, - * Nonce indicating value "" - * ;; + * Authorization indicating value "invalid credentials"; * from the UE_A entity * } * then { - * the IMS_P_CSCF_A entity sends a REGISTER containing + * the IMS_P_CSCF_B entity sends a REGISTER containing * From indicating value PX_UE_A_SIP_URI, * To indicating value PX_UE_A_SIP_URI, * CallId indicating value PX_UE_A_CALLID, * Via indicating value PX_UE_A_VIA, - * Authorization containing - * Authentication_Schema indicating value PX_TO_BE_DEFINED, - * Authentication_URI indicating value PX_TO_BE_DEFINED, - * Username indicating value PX_UE_A_INVALID_USERNAME, - * Realm indicating value PX_UE_A_REALM, - * Algorithm indicating value PX_UE_A_AUTH_ALG, - * Nonce indicating value "" - * ;; - * to the IMS_I_CSCF_A entity - * and the IMS_I_CSCF_A entity sends an 404_NotFound containing + * Authorization indicating value "invalid credentials", + * PChargingVector, + * PVisitedNetwork; + * to the IMS_I_CSCF_B entity + * and the IMS_P_CSCF_B entity sends an 403_Forbidden containing * From indicating value PX_UE_A_SIP_URI, * To indicating value PX_UE_A_SIP_URI, - * CallId indicating value PX_UE_A_CALLID, - * Via indicating value PX_UE_A_VIA, - * ; - * to the IMS_P_CSCF_A entity + * CallId indicating value PX_UE_A_CALLID; + * to the UE_A entity * } * } */ function f_mtc_check_TP_MW_PCSCF_ECO_REGISTER_03( - in SipInterfaceMonitor p_monitorCompRef, - in boolean p_checkMessage := false - ) runs on ImsTestCoordinator { + in SipInterfaceMonitor p_monitorCompRef, + in boolean p_checkMessage := false + ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)) { - var ImsUserInfo v_userInfoA := f_getSipUserId(PX_EUT_A); // User removed from HSS + var ImsUserInfo v_userInfoA := f_getSipUserId(PX_EUT_A_EMERGENCY); // User removed from HSS var SipMessage v_sip; // Check the first REGISTER @@ -684,7 +733,7 @@ module AtsImsIot_TP_behavior_MW_PS { mw_TP_MW_PCSCF_ECO_REGISTER_01( mw_From_AddrUnion_SipUrl(omit, v_userInfoA.publicId, v_userInfoA.domain), mw_To_AddrUnion_SipUrl(omit, v_userInfoA.publicId, v_userInfoA.domain), - mw_Authorization_other, + mw_Authorization_other, // FIXME indicating value "invalid credentials" -, -, mw_contact(mw_ContactAddress) ) @@ -692,7 +741,7 @@ module AtsImsIot_TP_behavior_MW_PS { }, { mw_SipRequest(mw_REGISTER_Request_Base) }, {0, omit}, - "TP_MW_PCSCF_REGISTER_03 - First request", + "TP_MW_PCSCF_ECO_REGISTER_03 - First request", true, p_checkMessage ) @@ -703,11 +752,11 @@ module AtsImsIot_TP_behavior_MW_PS { if (not(isbound(v_sip))) { return; } - // Check REGISTER 404 Not Found response + // Check REGISTER 403 Forbidden response p_monitorCompRef.start( f_Iot_Sip_receive( { - mw_SipResponse(mw_404NotFound(v_sip.request.msgHeader.cSeq/*, mw_WwwAuthenticate*/)), + mw_SipResponse(mw_403Forbidden(v_sip.request.msgHeader.cSeq/*, mw_WwwAuthenticate*/)), mw_SipResponse(mw_480TemporaryUnavailable(-, v_sip.request.msgHeader.cSeq/*, mw_WwwAuthenticate*/)) }, { @@ -1436,6 +1485,73 @@ module AtsImsIot_TP_behavior_MW_PS { } } // End of function f_mtc_check_TP_MW_PCSCF_INVITE_01 + /** + * @desc "Verify that the P-CSCF successfully processes an initial INVITE from an unregistered UE." + * Reference + * "ETSI TS 124 229 [1], Clauses 5.2.10.2 and 5.2.6.3.3" + * Config Id CF_VxLTE_INT + * PICS Selection NONE + * Initial conditions with { + * the UE_A entity isAttachedTo the EPC_A and + * the UE_A entity not isRegisteredTo the IMS_A and + * the UE_A entity not isEmergencyRegisteredTo the IMS_A + * } + * Expected behaviour + * ensure that { + * when { + * the IMS_P_CSCF_A entity receives an INVITE containing + * From indicating value "Anonymous", + * To indicating value PX_SIP_EMERGENCY_SERVICE_URN, + * CallId indicating value PX_UE_A_CALLID, + * Via indicating value PX_UE_A_VIA, + * Route indicating value PX_UE_A_SERVICE_ROUTE, + * MessageBody; + * from the UE_A entity + * } + * then { + * the IMS_P_CSCF_A entity sends an INVITE containing + * From indicating value "Anonymous", + * To indicating value PX_SIP_EMERGENCY_SERVICE_URN, + * CallId indicating value PX_UE_A_CALLID, + * Via indicating value PX_P_CSCF_A_VIA, + * Route indicating value PX_E_CSCF_SERVICE_ROUTE, + * MessageBody; + * to the IMS_E_CSCF entity + * } + * } + */ + function f_mtc_check_TP_MW_PCSCF_ECO_INVITE_01( + in SipInterfaceMonitor p_monitorCompRef, + in boolean p_checkMessage := false, + out SipMessage p_sip + ) runs on ImsTestCoordinator { + if (isvalue(p_monitorCompRef)) { + var ImsUserInfo v_userInfoA := f_getTelUserId(PX_EUT_A_EMERGENCY); + var ImsUserInfo v_psap := f_getTelUserId(PX_PSAP); + + // Check the INVITE + p_monitorCompRef.start( + f_Iot_Sip_receive( + { mw_SipRequest(mw_TP_MW_PCSCF_ECO_INVITE_01( + -, // FIXME Set expected value + mw_From_AddrUnion_TelUrl(mw_SipUrl_Anonymous.components.sip.userInfo.userOrTelephoneSubscriber), + mw_To_AddrUnion_TelUrl(v_psap.publicId) + )) + }, + { mw_SipRequest(mw_INVITE_Request_Base) }, + {0, omit}, + "TP_MW_PCSCF_ECO_INVITE_01 - Request", + true, + p_checkMessage + ) + ); + p_monitorCompRef.done; + // Retrieve messge + f_getSipMsgFromMonitor(p_monitorCompRef, p_sip); + log("##### p_sip: ", p_sip); + } + } // End of function f_mtc_check_TP_MW_PCSCF_ECO_INVITE_01 + /** * @desc Verify that the P-CSCF successfully processes an initial INVITE (Terminating Leg). * Initial conditions with { @@ -1517,6 +1633,80 @@ module AtsImsIot_TP_behavior_MW_PS { } } // End of function f_mtc_check_TP_MW_PCSCF_INVITE_02 + /** + * @desc "Verify that the P-CSCF successfully processes an initial INVITE from an emergency registered UE." + * Reference + * "ETSI TS 124 229 [1], Clauses 5.2.10.2 and 5.2.6.3.3" + * Config Id CF_VxLTE_INT + * PICS Selection NONE + * Initial conditions with { + * the UE_A entity isAttachedTo the EPC_A and + * the UE_A entity isEmergencyRegisteredTo the IMS_A + * } + * Expected behaviour + * ensure that { + * when { + * the IMS_P_CSCF_A entity receives an INVITE containing + * From indicating value "Anonymous", + * To indicating value PX_SIP_EMERGENCY_SERVICE_URN, + * CallId indicating value PX_UE_A_CALLID, + * Via indicating value PX_UE_A_VIA, + * Route indicating value PX_UE_A_SERVICE_ROUTE, + * PPreferredIdentity, // one or two instances + * MessageBody; + * from the UE_A entity + * } + * then { + * the IMS_P_CSCF_A entity sends an INVITE containing + * From indicating value "Anonymous", + * To indicating value PX_SIP_EMERGENCY_SERVICE_URN, + * CallId indicating value PX_UE_A_CALLID, + * Via indicating value PX_P_CSCF_A_VIA, + * Route indicating value PX_E_CSCF_SERVICE_ROUTE, // 5.2.10.3 1B) option is assumed + * PAssertedIdentity, + * MessageBody; + * to the IMS_E_CSCF entity + * } + * } + */ + function f_mtc_check_TP_MW_PCSCF_ECO_INVITE_02( + in SipInterfaceMonitor p_monitorCompRef, + in boolean p_checkMessage := false, + out SipMessage p_sip + ) runs on ImsTestCoordinator { + if (isvalue(p_monitorCompRef)) { + var ImsUserInfo v_userInfoA := f_getSipUserId(PX_EUT_A_EMERGENCY); + var ImsUserInfo v_psap := f_getSipUserId(PX_PSAP); + + // Check the INVITE + p_monitorCompRef.start( + f_Iot_Sip_receive( + { mw_SipRequest(mw_TP_MW_PCSCF_ECO_INVITE_02( + -, // FIXME Set expected value + ( + mw_From_NameAddr_SipUrl({quotedString:=v_psap.publicId}, v_psap.publicId, v_psap.domain), + mw_From_AddrUnion_TelUrl(v_psap.publicId) + ), + ( + mw_To_NameAddr_SipUrl({quotedString:=v_userInfoA.publicId}, v_userInfoA.publicId/*, v_userInfoA.domain*/), + mw_To_AddrUnion_TelUrl(-)//v_userInfoA.publicId + ) + )) + }, + { mw_SipRequest(mw_INVITE_Request_Base) }, + {0, omit}, + "TP_MW_PCSCF_ECO_INVITE_02 - Request", + true, + p_checkMessage + ) + ); + p_monitorCompRef.done; + // Retrieve messge + f_getSipMsgFromMonitor(p_monitorCompRef, p_sip); + log("##### p_sip: ", p_sip); + } + } // End of function f_mtc_check_TP_MW_PCSCF_ECO_INVITE_02 + function f_mtc_check_TP_MW_PCSCF_INVITE_03( // FIXME RMI To be reviewed in SipInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false, @@ -1550,6 +1740,76 @@ module AtsImsIot_TP_behavior_MW_PS { } } // End of function f_mtc_check_TP_MW_PCSCF_INVITE_03 + /** + * @desc "Verify that the P-CSCF successfully processes an initial INVITE from a registered but not emergency registered UE." + * Reference + * "ETSI TS 124 229 [1], Clauses 5.2.10.2 and 5.2.6.3.3" + * Config Id CF_VxLTE_INT + * PICS Selection NONE + * Initial conditions with { + * the UE_A entity isAttachedTo the EPC_A and + * the UE_A entity isRegisteredTo the IMS_A and + * the UE_A entity not isEmergencyRegisteredTo the IMS_A + * } + * Expected behaviour + * ensure that { + * when { + * the IMS_P_CSCF_A entity receives an INVITE containing + * From indicating value "Anonymous", + * To indicating value PX_SIP_EMERGENCY_SERVICE_URN, + * CallId indicating value PX_UE_A_CALLID, + * Via indicating value PX_UE_A_VIA, + * Route indicating value PX_UE_A_SERVICE_ROUTE, + * PPreferredIdentity, // one or two instances + * MessageBody; + * from the UE_A entity + * } + * then { + * the IMS_P_CSCF_A entity sends an INVITE containing + * From indicating value "Anonymous", + * To indicating value PX_SIP_EMERGENCY_SERVICE_URN, + * CallId indicating value PX_UE_A_CALLID, + * Via indicating value PX_P_CSCF_A_VIA, + * Route indicating value PX_E_CSCF_SERVICE_ROUTE, // 5.2.10.3 1B) option is assumed + * PAssertedIdentity, + * MessageBody; + * to the IMS_E_CSCF entity + * } + * } + */ + function f_mtc_check_TP_MW_PCSCF_ECO_INVITE_03( // FIXME RMI To be reviewed + in SipInterfaceMonitor p_monitorCompRef, + in boolean p_checkMessage := false, + out SipMessage p_sip + ) runs on ImsTestCoordinator { + if (isvalue(p_monitorCompRef)) { + var ImsUserInfo v_userInfoA := f_getSipUserId(PX_EUT_A_EMERGENCY); + var ImsUserInfo v_psap := f_getSipUserId(PX_PSAP); + + // Check the INVITE + p_monitorCompRef.start( + f_Iot_Sip_receive( + { + mw_SipRequest(mw_TP_MW_PCSCF_ECO_INVITE_03( + -, // FIXME Set expected value + mw_From_AddrUnion_SipUrl(omit, v_userInfoA.publicId, v_userInfoA.domain), + mw_To_AddrUnion_SipUrl(omit, v_psap.publicId, v_psap.domain) + )) + }, + { mw_SipRequest(mw_INVITE_Request_Base) }, + {0, omit}, + "TP_MW_PCSCF_INVITE_ECO_03 - Request", + true, + p_checkMessage + ) + ); + p_monitorCompRef.done; + // Retrieve messge + f_getSipMsgFromMonitor(p_monitorCompRef, p_sip); + log("##### p_sip: ", p_sip); + } + } // End of function f_mtc_check_TP_MW_PCSCF_ECO_INVITE_03 + function f_mtc_check_TP_MW_PCSCF_INVITE_04( // FIXME RMI To be reviewed in SipInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false, @@ -1583,6 +1843,154 @@ module AtsImsIot_TP_behavior_MW_PS { } } // End of function f_mtc_check_TP_MW_PCSCF_INVITE_04 + /** + * @desc "Verify that the P-CSCF rejects an initial INVITE from a not emergency registered UE + * if the IM CN subsystem of the P-CSCF is not capable to handle emergency sessions." + * Reference + * "ETSI TS 124 229 [1], Clauses 5.2.10.2 and 5.2.6.3.3" + * Config Id CF_VxLTE_INT + * PICS Selection NONE + * Initial conditions with { + * the UE_A entity isAttachedTo the EPC_A and + * the UE_A entity isRegisteredTo the IMS_A and + * the UE_A entity not isEmergencyRegisteredTo the IMS_A + * } + * Expected behaviour + * ensure that { + * when { + * the IMS_P_CSCF_A entity receives an INVITE containing + * From indicating value "Anonymous", + * To indicating value PX_SIP_EMERGENCY_SERVICE_URN, + * CallId indicating value PX_UE_A_CALLID, + * Via indicating value PX_UE_A_VIA, + * Route indicating value PX_UE_A_SERVICE_ROUTE, + * MessageBody; + * from the UE_A entity + * } + * then { + * the IMS_P_CSCF_A entity sends an INVITE containing + * From indicating value "Anonymous", + * To indicating value PX_SIP_EMERGENCY_SERVICE_URN, + * CallId indicating value PX_UE_A_CALLID, + * Via indicating value PX_P_CSCF_A_VIA, + * Route indicating value PX_E_CSCF_SERVICE_ROUTE, // 5.2.10.3 1B) option is assumed + * PAssertedIdentity, + * MessageBody containing + * XML containing + * Version indicating value "1", + * Type_child indicating value "emergency", + * Reason_child, + * Action_child;;; + * to the IMS_E_CSCF entity + * } + * } + */ + function f_mtc_check_TP_MW_PCSCF_ECO_INVITE_04( // FIXME RMI To be reviewed + in SipInterfaceMonitor p_monitorCompRef, + in boolean p_checkMessage := false, + out SipMessage p_sip + ) runs on ImsTestCoordinator { + if (isvalue(p_monitorCompRef)) { + var ImsUserInfo v_userInfoA := f_getSipUserId(PX_EUT_A_EMERGENCY); + var ImsUserInfo v_psap := f_getSipUserId(PX_PSAP); + + // Check the INVITE + p_monitorCompRef.start( + f_Iot_Sip_receive( + { + mw_SipRequest(mw_TP_MW_PCSCF_ECO_INVITE_04( + -, // FIXME Set expected value + mw_From_AddrUnion_SipUrl(omit, v_userInfoA.publicId, v_userInfoA.domain), + mw_To_AddrUnion_SipUrl(omit, v_psap.publicId, v_psap.domain), + -, + mw_MBody_MIME_Ims3gpp( + *, + mw_Ims_Eco_3gpp_CW + ))) + }, + { mw_SipRequest(mw_INVITE_Request_Base) }, + {0, omit}, + "TP_MW_PCSCF_INVITE_ECO_04 - Request", + true, + p_checkMessage + ) + ); + p_monitorCompRef.done; + // Retrieve messge + f_getSipMsgFromMonitor(p_monitorCompRef, p_sip); + log("##### p_sip: ", p_sip); + } + } // End of function f_mtc_check_TP_MW_PCSCF_ECO_INVITE_04 + + /** + * @desc "Verify that the E-CSCF successfully processes a callback INVITE from PSAP towards P-CSCF." + * Reference + * "ETSI TS 124 229 [1], Clauses 5.2.10.2 and 5.2.6.3.3" + * Config Id CF_VxLTE_INT + * PICS Selection NONE + * Initial conditions with { + * the UE_A entity isAttachedTo the EPC_A and + * the UE_A entity isEmergencyRegisteredTo the IMS_A + * } + * Expected behaviour + * ensure that { + * when { + * the IMS_P_CSCF_A entity receives an INVITE containing + * From indicating value "Anonymous", + * To indicating value PX_SIP_EMERGENCY_SERVICE_URN, + * CallId indicating value PX_UE_A_CALLID, + * Via indicating value PX_UE_A_VIA, + * Route indicating value PX_UE_A_SERVICE_ROUTE, // 5.2.10.3 1B) option is assumed + * PAssertedIdentity, + * MessageBody; + * from the UE_A entity + * } + * then { + * the IMS_P_CSCF_A entity sends an INVITE containing + * From indicating value "Anonymous", + * To indicating value PX_SIP_EMERGENCY_SERVICE_URN, + * CallId indicating value PX_UE_A_CALLID, + * Via indicating value PX_P_CSCF_A_VIA, + * Route indicating value PX_E_CSCF_SERVICE_ROUTE, + * PPreferredIdentity, // one or two instances + * MessageBody; + * to the IMS_E_CSCF entity + * } + * } + */ + function f_mtc_check_TP_MW_PCSCF_ECO_INVITE_05( // FIXME RMI To be reviewed + in SipInterfaceMonitor p_monitorCompRef, + in boolean p_checkMessage := false, + out SipMessage p_sip + ) runs on ImsTestCoordinator { + if (isvalue(p_monitorCompRef)) { + var ImsUserInfo v_userInfoA := f_getSipUserId(PX_EUT_A_EMERGENCY); + var ImsUserInfo v_psap := f_getSipUserId(PX_PSAP); + + // Check the INVITE + p_monitorCompRef.start( + f_Iot_Sip_receive( + { + mw_SipRequest(mw_TP_MW_PCSCF_ECO_INVITE_05( + -, // FIXME Set expected value + mw_From_AddrUnion_SipUrl(omit, v_userInfoA.publicId, v_userInfoA.domain), + mw_To_AddrUnion_SipUrl(omit, v_psap.publicId, v_psap.domain) + )) + }, + { mw_SipRequest(mw_INVITE_Request_Base) }, + {0, omit}, + "TP_MW_PCSCF_INVITE_ECO_05 - Request", + true, + p_checkMessage + ) + ); + p_monitorCompRef.done; + // Retrieve messge + f_getSipMsgFromMonitor(p_monitorCompRef, p_sip); + log("##### p_sip: ", p_sip); + } + } // End of function f_mtc_check_TP_MW_PCSCF_ECO_INVITE_05 + /** * @desc Verify that the P-CSCF successfully processes an initial RE-INVITE (Originating Leg). * Initial conditions with { @@ -1847,6 +2255,32 @@ module AtsImsIot_TP_behavior_MW_PS { } } // End of function f_mtc_check_TP_MW_PCSCF_100Trying_01 + function f_mtc_check_TP_MW_PCSCF_ECO_100Trying_01( + in SipInterfaceMonitor p_monitorCompRef, + in boolean p_checkMessage := false, + in SipMessage p_sip + ) runs on ImsTestCoordinator { + if (isvalue(p_monitorCompRef)) { + // Check the 100 TRYING + p_monitorCompRef.start( + f_Iot_Sip_receive( + { mw_SipResponse(mw_TP_MW_ECSCF_100Trying_01( + p_sip.request.msgHeader.cSeq, + p_sip.request.msgHeader.fromField, + p_sip.request.msgHeader.toField + )) + }, + { mw_SipResponse(mw_100Trying_Base) }, + { 0, omit }, + "TP_MW_ECSCF_ECO_100Trying_01", + false, + p_checkMessage + ) + ); + p_monitorCompRef.done; + } + } // End of function f_mtc_check_TP_MW_PCSCF_ECO_100Trying_01 + /** * @desc Verify that the P-CSCF successfully processes a 100 (Trying) provisional response on initial INVITE (Terminating Leg). * Initial conditions with { @@ -2011,6 +2445,34 @@ module AtsImsIot_TP_behavior_MW_PS { } } // End of function f_mtc_check_TP_MW_PCSCF_180RINGING_01 + function f_mtc_check_TP_MW_PCSCF_ECO_180RINGING_01( + in SipInterfaceMonitor p_monitorCompRef, + in boolean p_checkMessage := false, + in SipMessage p_sip + ) runs on ImsTestCoordinator { + if (isvalue(p_monitorCompRef)) { + // Check the 180 RINGING + p_monitorCompRef.start( + f_Iot_Sip_receive( + { mw_SipResponse(mw_TP_MW_ECSCF_180Ringing_01( + p_sip.request.msgHeader.cSeq, + p_sip.request.msgHeader.fromField, + mw_To_NameAddr_TelUrl( + -, + p_sip.request.msgHeader.toField.addressField.addrSpecUnion.components.tel.subscriber + ))) + }, + { mw_SipResponse(mw_180Ringing_Base) }, + { 0, omit }, + "TP_MW_ECSCF_ECO_180RINGING_01", + false, + p_checkMessage + ) + ); + p_monitorCompRef.done; + } + } // End of function f_mtc_check_TP_MW_PCSCF_ECO_180RINGING_01 + /** * @desc Verify that the P-CSCF successfully processes a 180 (Ringing) provisional response on initial INVITE (Terminating Leg).. * Initial conditions with { @@ -2189,6 +2651,32 @@ module AtsImsIot_TP_behavior_MW_PS { } } // End of function f_mtc_check_TP_MW_PCSCF_183SESSION_PROGRESS_01 + function f_mtc_check_TP_MW_PCSCF_ECO_183SESSION_PROGRESS_01( + in SipInterfaceMonitor p_monitorCompRef, + in boolean p_checkMessage := false, + in SipMessage p_sip + ) runs on ImsTestCoordinator { + if (isvalue(p_monitorCompRef)) { + // Check the 183 SESSION_PROGRESS + p_monitorCompRef.start( + f_Iot_Sip_receive( + { mw_SipResponse(mw_TP_MW_ECSCF_183SessionProgress_01( + p_sip.request.msgHeader.cSeq, + p_sip.request.msgHeader.fromField, + p_sip.request.msgHeader.toField + )) + }, + { mw_SipResponse(mw_183SessionProgress_Base) }, + { 0, omit }, + "TP_MW_ECSCF_ECO_183SESSION_PROGRESS_01", + false, + p_checkMessage + ) + ); + p_monitorCompRef.done; + } + } // End of function f_mtc_check_TP_MW_PCSCF_ECO_183SESSION_PROGRESS_01 + /** * @desc Verify that the P-CSCF successfully processes a 183 (Ringing) provisional response on initial INVITE (Terminating Leg).. * Initial conditions with { @@ -2371,7 +2859,41 @@ module AtsImsIot_TP_behavior_MW_PS { }, { mw_SipResponse(mw_200OK_Base) }, { 0, omit }, - "TP_MW_PCSCF_200OK_01", + "TP_MW_PCSCF_200OK_01", + false, + p_checkMessage + ) + ); + p_monitorCompRef.done; + + } + } // End of function f_mtc_check_TP_MW_PCSCF_200OK_01 + + function f_mtc_check_TP_MW_PCSCF_ECO_200OK_01( + in SipInterfaceMonitor p_monitorCompRef, + in boolean p_checkMessage := false, + in SipMessage p_sip + ) runs on ImsTestCoordinator { + if (isvalue(p_monitorCompRef)) { + var ImsUserInfo v_psapInfo := f_getSipUserId(PX_PSAP); + + // Check the 200 OK + p_monitorCompRef.start( + f_Iot_Sip_receive( + { mw_SipResponse(mw_200OK( + p_sip.request.msgHeader.cSeq, + p_sip.request.msgHeader.callId, + p_sip.request.msgHeader.fromField, + ( + mw_To_NameAddr_TelUrl({quotedString:=v_psapInfo.publicId}), + mw_To_AddrUnion_TelUrl(v_psapInfo.publicId), + p_sip.request.msgHeader.toField + ) + )) + }, + { mw_SipResponse(mw_200OK_Base) }, + { 0, omit }, + "TP_MW_ECSCF_ECO_200OK_01", false, p_checkMessage ) @@ -2379,7 +2901,7 @@ module AtsImsIot_TP_behavior_MW_PS { p_monitorCompRef.done; } - } // End of function f_mtc_check_TP_MW_PCSCF_200OK_01 + } // End of function f_mtc_check_TP_MW_PCSCF_ECO_200OK_01 /** * @desc Verify that the P-CSCF successfully processes a 200 (Ok) provisional response on initial INVITE (Terminating Leg). @@ -2566,6 +3088,34 @@ module AtsImsIot_TP_behavior_MW_PS { } } // End of function f_mtc_check_TP_MW_PCSCF_ACK_01 + function f_mtc_check_TP_MW_PCSCF_ECO_ACK_01( + in SipInterfaceMonitor p_monitorCompRef, + in boolean p_checkMessage := false, + in SipMessage p_sip + ) runs on ImsTestCoordinator { + if (isvalue(p_monitorCompRef)) { + // Check the ACK + p_monitorCompRef.start( + f_Iot_Sip_receive( + { mw_SipRequest(mw_TP_MW_ECSCF_ACK_01( + p_sip.request.msgHeader.callId, + p_sip.request.msgHeader.cSeq, + -, // FIXME To be set + p_sip.request.msgHeader.fromField, + p_sip.request.msgHeader.toField + )) + }, + { mw_SipRequest(mw_ACK_Request_Base) }, + { 0, omit }, + "TP_MW_ECSCF_ECO_ACK_01 - Request", + false, + p_checkMessage + ) + ); + p_monitorCompRef.done; + } + } // End of function f_mtc_check_TP_MW_PCSCF_ECO_ACK_01 + /** * @desc Verify that the P-CSCF successfully processes a ACK provisional response on initial INVITE (Terminating Leg). * Initial conditions with { @@ -2751,6 +3301,98 @@ module AtsImsIot_TP_behavior_MW_PS { } } // End of function f_mtc_check_TP_MW_PCSCF_BYE_01 + /** + * @desc Verify that the P-CSCF successfully processes a BYE for an emergency call. + * Initial conditions with { + * the UE_A entity isAttachedTo the EPC_A and + * the UE_A entity isRegisteredTo the IMS_A and + * the UE_A entity not isEmergencyRegisteredTo the IMS_A and + * the UE_A entity previouslyEstablishedEmergencyCallWith the PSAP + * } + * + * Expected behaviour + * ensure that { + * when { + * the IMS_P_CSCF_A entity receives a BYE containing + * From indicating value PX_UE_A_SIP_URI, + * To indicating value PX_SIP_EMERGENCY_SERVICE_URN, + * CallId indicating value PX_UE_A_CALLID, + * Via indicating value PX_UE_A_VIA, + * Route indicating value PX_UE_A_SERVICE_ROUTE; + * from the UE_A entity + * } + * then { + * the IMS_P_CSCF_A entity sends a BYE containing + * From indicating value PX_UE_A_SIP_URI, + * To indicating value PX_SIP_EMERGENCY_SERVICE_URN, + * CallId indicating value PX_UE_A_CALLID, + * Via indicating value PX_UE_A_VIA, + * Route indicating value PX_UE_A_SERVICE_ROUTE + * ; + * from the IMS_E_CSCF_A entity + * } + * } + */ + function f_mtc_check_TP_MW_PCSCF_ECO_BYE_01( + in SipInterfaceMonitor p_monitorCompRef, + in boolean p_checkMessage := false, + inout SipMessage p_sip + ) runs on ImsTestCoordinator { + if (isvalue(p_monitorCompRef)) { + // Check the BYE + p_monitorCompRef.start( + f_Iot_Sip_receive( + { mw_SipRequest(mw_TP_MW_ECSCF_BYE_01( + p_sip.request.msgHeader.callId, + -, // New CSeq + -, // FIXME To be set + p_sip.request.msgHeader.fromField, + p_sip.request.msgHeader.toField + )) + }, + { mw_SipRequest(mw_BYE_Request_Base) }, + { 0, omit }, + "TP_MW_ECSCF_ECO_BYE_01 - Request", + true, + p_checkMessage + ) + ); + p_monitorCompRef.done; + // Retrieve messge + f_getSipMsgFromMonitor(p_monitorCompRef, p_sip); + } + } // End of function f_mtc_check_TP_MW_PCSCF_ECO_BYE_01 + + function f_mtc_check_TP_MW_PCSCF_ECO_BYE_02( + in SipInterfaceMonitor p_monitorCompRef, + in boolean p_checkMessage := false, + inout SipMessage p_sip + ) runs on ImsTestCoordinator { + if (isvalue(p_monitorCompRef)) { + // Check the BYE + p_monitorCompRef.start( + f_Iot_Sip_receive( + { mw_SipRequest(mw_TP_MW_ECSCF_BYE_01( + p_sip.request.msgHeader.callId, + -, // New CSeq + -, // FIXME To be set + p_sip.request.msgHeader.fromField, + p_sip.request.msgHeader.toField + )) + }, + { mw_SipRequest(mw_BYE_Request_Base) }, + { 0, omit }, + "TP_MW_ECSCF_ECO_BYE_02 - Request", + true, + p_checkMessage + ) + ); + p_monitorCompRef.done; + // Retrieve messge + f_getSipMsgFromMonitor(p_monitorCompRef, p_sip); + } + } // End of function f_mtc_check_TP_MW_PCSCF_ECO_BYE_02 + /** * @desc Verify that the P-CSCF successfully processes a BYE (Terminating Leg). * Initial conditions with { @@ -3029,6 +3671,60 @@ module AtsImsIot_TP_behavior_MW_PS { } } // End of function f_mtc_check_TP_MW_PCSCF_200OK_BYE_01 + function f_mtc_check_TP_MW_PCSCF_ECO_200OK_BYE_01( + in SipInterfaceMonitor p_monitorCompRef, + in boolean p_checkMessage := false, + in SipMessage p_sip + ) runs on ImsTestCoordinator { + if (isvalue(p_monitorCompRef)) { + // Check the 200 OK BYE + p_monitorCompRef.start( + f_Iot_Sip_receive( + { mw_SipResponse(mw_200OK( + p_sip.request.msgHeader.cSeq, + p_sip.request.msgHeader.callId, + p_sip.request.msgHeader.fromField, + p_sip.request.msgHeader.toField + )) + }, + { mw_SipResponse(mw_200OK_Base) }, + { 0, omit }, + "TP_MW_ECSCF_ECO_200OK_BYE_01", + false, + p_checkMessage + ) + ); + p_monitorCompRef.done; + } + } // End of function f_mtc_check_TP_MW_PCSCF_ECO_200OK_BYE_01 + + function f_mtc_check_TP_MW_PCSCF_ECO_200OK_BYE_02( + in SipInterfaceMonitor p_monitorCompRef, + in boolean p_checkMessage := false, + in SipMessage p_sip + ) runs on ImsTestCoordinator { + if (isvalue(p_monitorCompRef)) { + // Check the 200 OK BYE + p_monitorCompRef.start( + f_Iot_Sip_receive( + { mw_SipResponse(mw_200OK( + p_sip.request.msgHeader.cSeq, + p_sip.request.msgHeader.callId, + p_sip.request.msgHeader.fromField, + p_sip.request.msgHeader.toField + )) + }, + { mw_SipResponse(mw_200OK_Base) }, + { 0, omit }, + "TP_MW_ECSCF_ECO_200OK_BYE_02", + false, + p_checkMessage + ) + ); + p_monitorCompRef.done; + } + } // End of function f_mtc_check_TP_MW_PCSCF_ECO_200OK_BYE_02 + /** * @desc Verify that the P-CSCF successfully processes a 200 (OK) BYE (Terminating Leg). * Initial conditions with { @@ -3258,6 +3954,67 @@ module AtsImsIot_TP_behavior_MW_PS { } } // End of function f_mtc_check_TP_MW_PCSCF_CANCEL_01 + /** + * @desc Verify that the P-CSCF successfully processes a CANCEL during Emergency Call establishment. + * Initial conditions with { + * the UE_A entity isEmergencyAttachedTo the EPC_A and + * the UE_A entity isEmergencyRegisteredTo the IMS_A and + * the UE_A entity hasAchievedInitialEmergencyINVITE and + * the UE_A entity isRequestedToSend a CANCEL + * } + * + * Expected behaviour + * ensure that { + * when { + * the IMS_P_CSCF_A entity receives a CANCEL containing + * From indicating value PX_UE_A_SIP_URI, + * To indicating value PX_SIP_EMERGENCY_SERVICE_URN, + * CallId indicating value PX_UE_A_CALLID, + * Via indicating value PX_UE_A_VIA, + * Route indicating value PX_UE_A_SERVICE_ROUTE; + * from the UE_A entity + * } + * then { + * the IMS_P_CSCF_A entity sends a CANCEL containing + * From indicating value PX_UE_A_SIP_URI, + * To indicating value PX_SIP_EMERGENCY_SERVICE_URN, + * CallId indicating value PX_UE_A_CALLID, + * Via indicating value PX_UE_A_VIA, + * Route indicating value PX_UE_A_SERVICE_ROUTE; + * from the IMS_S_CSCF_A entity + * } + * } + */ + function f_mtc_check_TP_MW_PCSCF_EMC_CANCEL_01( + in SipInterfaceMonitor p_monitorCompRef, + in boolean p_checkMessage := false, + inout SipMessage p_sip + ) runs on ImsTestCoordinator { + if (isvalue(p_monitorCompRef)) { + // Check the CANCEL + p_monitorCompRef.start( + f_Iot_Sip_receive( + { mw_SipRequest(mw_TP_MW_ECSCF_CANCEL_01( + p_sip.request.msgHeader.callId, + -, // New CSeq + -, // FIXME To be set + p_sip.request.msgHeader.fromField, + p_sip.request.msgHeader.toField + )) + }, + { mw_SipRequest(mw_CANCEL_Request_Base) }, + { 0, omit }, + "TP_MW_PCSCF_EMC_CANCEL_01 - Request", + true, + p_checkMessage + ) + ); + p_monitorCompRef.done; + // Retrieve messge + f_getSipMsgFromMonitor(p_monitorCompRef, p_sip); + } + } // End of function f_mtc_check_TP_MW_PCSCF_EMC_CANCEL_01 + /** * @desc Verify that the P-CSCF successfully processes a CANCEL (Terminating Leg). * Initial conditions with { @@ -3443,6 +4200,33 @@ module AtsImsIot_TP_behavior_MW_PS { } } // End of function f_mtc_check_TP_MW_PCSCF_200OK_CANCEL_01 + function f_mtc_check_TP_MW_PCSCF_ECO_200OK_CANCEL_01( + in SipInterfaceMonitor p_monitorCompRef, + in boolean p_checkMessage := false, + in SipMessage p_sip + ) runs on ImsTestCoordinator { + if (isvalue(p_monitorCompRef)) { + // Check the 200 OK CANCEL + p_monitorCompRef.start( + f_Iot_Sip_receive( + { mw_SipResponse(mw_ECO_200OK( + p_sip.request.msgHeader.cSeq, + p_sip.request.msgHeader.callId, + p_sip.request.msgHeader.fromField, + p_sip.request.msgHeader.toField + )) + }, + { mw_SipResponse(mw_200OK_Base) }, + { 0, omit }, + "TP_MW_PCSCF_ECO_200OK_CANCEL_01", + false, + p_checkMessage + ) + ); + p_monitorCompRef.done; + } + } // End of function f_mtc_check_TP_MW_PCSCF_ECO_200OK_CANCEL_01 + /** * @desc Verify that the P-CSCF successfully processes a 200 (OK) CANCEL (Terminating Leg). * Initial conditions with { @@ -3862,7 +4646,37 @@ module AtsImsIot_TP_behavior_MW_PS { } } // End of function f_mtc_check_TP_MW_PCSCF_487INVITE_01 - function f_mtc_check_TP_MW_PCSCF_ECO_487INVITE_01( + /** + * @desc Verify that the P-CSCF successfully processes a 487 INVITE (Request Terminated) to reject call (Originating Leg). + * Initial conditions with { + * the UE_A entity isAttachedTo the EPC_A and + * the UE_A entity isRegisteredTo the IMS_A and + * the UE_A entity isRequestedToSend a CANCEL + * } + * + * Expected behaviour + * ensure that { + * when { + * the IMS_P_CSCF_A entity receives a 487_INVITE containing + * From indicating value PX_UE_B_SIP_URI, + * To indicating value PX_UE_A_SIP_URI, + * CallId indicating value PX_UE_B_CALLID, + * Via indicating value PX_UE_B_VIA, + * Route indicating value PX_UE_B_SERVICE_ROUTE; + * from the IMS_E_CSCF_A entity + * } + * then { + * the IMS_P_CSCF_A entity sends a 487_INVITE containing + * From indicating value PX_UE_B_SIP_URI, + * To indicating value PX_UE_A_SIP_URI, + * CallId indicating value PX_UE_B_CALLID, + * Via indicating value PX_UE_B_VIA, + * Route indicating value PX_UE_B_SERVICE_ROUTE; + * to the UE_A entity + * } + * } + */ + function f_mtc_check_TP_MW_PCSCF_EMC_487INVITE_01( in SipInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false, inout SipMessage p_sip @@ -3895,7 +4709,7 @@ module AtsImsIot_TP_behavior_MW_PS { // Retrieve messge f_getSipMsgFromMonitor(p_monitorCompRef, p_sip); } - } // End of function f_mtc_check_TP_MW_PCSCF_ECO_487INVITE_01 + } // End of function f_mtc_check_TP_MW_PCSCF_EMC_487INVITE_01 /** * @desc Verify that the P-CSCF successfully processes a 487 INVITE (Request Terminated) to reject call (Terminating Leg). @@ -4036,4 +4850,35 @@ module AtsImsIot_TP_behavior_MW_PS { } // End of group imsRequestTermination + group imsTemporaryUnavailable { + + function f_mtc_check_TP_MW_PCSCF_ECO_480TEMPAV_01( + in SipInterfaceMonitor p_monitorCompRef, + in boolean p_checkMessage := false, + inout SipMessage p_sip + ) runs on ImsTestCoordinator { + if (isvalue(p_monitorCompRef)) { + // Check the 487 Request Terminated + p_monitorCompRef.start( + f_Iot_Sip_receive( + { + mw_SipResponse(mw_480TemporaryUnavailable(-, p_sip.request.msgHeader.cSeq)) + }, + { + mw_SipResponse(mdw_4XX_Base) + }, + { 0, omit }, + "TP_MW_PCSCF_ECO_480TEMPAV_01", + true, + p_checkMessage + ) + ); + p_monitorCompRef.done; + // Retrieve messge + f_getSipMsgFromMonitor(p_monitorCompRef, p_sip); + } + } // End of function f_mtc_check_TP_MW_PCSCF_ECO_480TEMPAV_01 + + } // End of group imsTemporaryUnavailable + } // End of module AtsImsIot_TP_behavior_MW_PS diff --git a/ttcn/AtsImsIot/AtsImsIot_Templates.ttcn b/ttcn/AtsImsIot/AtsImsIot_Templates.ttcn index 3604831..f7ad97b 100644 --- a/ttcn/AtsImsIot/AtsImsIot_Templates.ttcn +++ b/ttcn/AtsImsIot/AtsImsIot_Templates.ttcn @@ -11,11 +11,20 @@ module AtsImsIot_Templates { import from LibIot_TypesAndValues all; import from AtsImsIot_TypesAndValues all; import from LibSip_SIPTypesAndValues all; + import from LibSip_MessageBodyTypes all; + import from LibSip_XMLTypes all; import from LibSip_Templates all; import from LibSip_Common all; import from LibMsrp_TypesAndValues all; + import from LibIms_Templates all; import from LibIot_PIXITS all; import from AtsImsIot_PIXITS all; + + import from XSD all; + import from NoTargetNamespace language "XSD" all + with { + extension "File:../xsd/Ims3gpp.xsd"; + } group adapterMsgTemplates { template SetFilterReq m_SetFilterReq(ProtocolFilter p_protocol, InterfaceInfoList p_iterfaces) := { @@ -2565,7 +2574,7 @@ module AtsImsIot_Templates { template InfoPackage_List p_infoPackageList := ? ) := { fieldName := RECV_INFO_E, - infoPackageList := l_infoPackageList + infoPackageList := p_infoPackageList } template(present) PPreferredID mw_PPreferredID( @@ -2664,6 +2673,21 @@ module AtsImsIot_Templates { } // End of group AuxiliaryInformationElementTemplates + group messageBody_XML { + + template(present) TIMS3GPP mw_Ims_Eco_3gpp_CW modifies mw_Ims_3gpp_CW := { + choice := { + alternative_service := { + type_ := { + attr := { "emergency" }, + elem_list := ? + } + } + } + } + + } // End of group messageBody_XML + group adapterTemplates { template GeneralConfigurationReq m_generalConfigurationReq_offline := { diff --git a/ttcn/AtsImsIot/AtsImsIot_Templates_GM.ttcn b/ttcn/AtsImsIot/AtsImsIot_Templates_GM.ttcn index 3e91695..cb0acdb 100644 --- a/ttcn/AtsImsIot/AtsImsIot_Templates_GM.ttcn +++ b/ttcn/AtsImsIot/AtsImsIot_Templates_GM.ttcn @@ -11,6 +11,7 @@ module AtsImsIot_Templates_GM { // libSip import from LibSip_SIPTypesAndValues all; + import from LibSip_MessageBodyTypes all; import from LibSip_Templates all; import from LibSip_Common all; @@ -219,7 +220,7 @@ module AtsImsIot_Templates_GM { msgHeader := { contact := p_contact, path := p_path, - Warning := p_warning + warning := p_warning } } // End of template mw_TP_GM_PCSCF_ECO_REGISTER_01 @@ -295,6 +296,18 @@ module AtsImsIot_Templates_GM { ) modifies mw_TP_GM_PCSCF_REGISTER_01 := { } // End of template mw_TP_GM_PCSCF_REGISTER_04 + template(present) REGISTER_Request mw_TP_GM_PCSCF_ECO_REGISTER_05( + template (present) From p_from := ?, + template (present) To p_to := ?, + template (present) Authorization p_authorization := ?, + template PChargingVector p_pChargingVector := *, + template PVisitedNetworkID p_pVisitedNetworkID := *, + template (present) Contact p_contact := ?, + template Path p_path := ?, + template Warning p_warning := ? + ) modifies mw_TP_GM_PCSCF_ECO_REGISTER_01 := { + } // End of template mw_TP_GM_PCSCF_ECO_REGISTER_05 + template(present) REGISTER_Request mw_TP_GM_PCSCF_REGISTER_07( template (present) From p_from := ?, template (present) To p_to := ?, @@ -412,7 +425,7 @@ module AtsImsIot_Templates_GM { msgHeader := { contact := p_contact }, - bessageBody := p_messageBody + messageBody := p_messageBody } // End of template mw_TP_GM_PCSCF_ECO_INVITE_01 template (present) INVITE_Request mw_TP_GM_PCSCF_INVITE_02( // TODO To be enforced -- GitLab From 663529a36d4d70e83806cd783ddbb1c58edd1206 Mon Sep 17 00:00:00 2001 From: garciay Date: Mon, 18 Sep 2023 10:53:28 +0200 Subject: [PATCH 07/32] Review of TTCN-3 implementation & templates of all emergency TPs for the SIP part --- .../AtsImsIot_TP_behavior_MW_IS.ttcn | 260 ++++++++++++++++-- ttcn/AtsImsIot/AtsImsIot_Templates_MW.ttcn | 123 +++++++-- 2 files changed, 337 insertions(+), 46 deletions(-) diff --git a/ttcn/AtsImsIot/AtsImsIot_TP_behavior_MW_IS.ttcn b/ttcn/AtsImsIot/AtsImsIot_TP_behavior_MW_IS.ttcn index e72bdfa..d9ae0d3 100644 --- a/ttcn/AtsImsIot/AtsImsIot_TP_behavior_MW_IS.ttcn +++ b/ttcn/AtsImsIot/AtsImsIot_TP_behavior_MW_IS.ttcn @@ -193,9 +193,8 @@ module AtsImsIot_TP_behavior_MW_IS { /** * @desc Verify that the I-CSCF successfully processes a first registration (Successful). * Initial conditions with { - * the UE_A entity isAttachedTo the EPC_A and - * the UE_A entity isNotRegisteredTo the IMS_A and - * the UE_B entity isNotRegisteredTo the IMS_B + * the UE_A entity isEmergencyAttachedTo the EPC_A and + * the UE_A entity not isRegisteredTo the IMS_A * } * * Expected behaviour @@ -206,7 +205,7 @@ module AtsImsIot_TP_behavior_MW_IS { * To indicating value PX_UE_A_SIP_URI, * CallId indicating value PX_UE_A_CALLID, * Via indicating value PX_UE_A_VIA, - * ; + * Contact indicating value "sos"; * from the IMS_P_CSCF_A entity * } * then { @@ -236,7 +235,7 @@ module AtsImsIot_TP_behavior_MW_IS { in boolean p_checkMessage := false ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)){ - var ImsUserInfo v_userInfoA := f_getSipUserId(PX_EUT_A); + var ImsUserInfo v_userInfoA := f_getSipUserId(PX_EUT_A_EMERGENCY); var SipMessage v_sip; // Check the first REGISTER @@ -282,7 +281,7 @@ module AtsImsIot_TP_behavior_MW_IS { )) }, {0, omit}, - "TP_MW_ICSCF_REGISTER_01 - 401 Unauthorized", + "TP_MW_ICSCF_ECO_REGISTER_01 - 401 Unauthorized", false, p_checkMessage ) @@ -400,12 +399,58 @@ module AtsImsIot_TP_behavior_MW_IS { } } // End of function f_mtc_check_TP_MW_ICSCF_REGISTER_02 + /** + * @desc Verify that the I-CSCF successfully processes a full registration (Successful). + * Initial conditions with { + * the UE_A entity isEmergencyAttachedTo the EPC_A and + * the UE_A entity not isRegisteredTo the IMS_A and + * the UE_A entity hasAchievedFirstREGISTER + * } + * + * Expected behaviour + * ensure that { + * when { + * the IMS_I_CSCF_A entity receives a REGISTER containing + * From indicating value PX_UE_A_SIP_URI, + * To indicating value PX_UE_A_SIP_URI, + * CallId indicating value PX_UE_A_CALLID, + * Via indicating value PX_UE_A_VIA, + * Authorization containing + * Authentication_Scheme indicating value PX_TO_BE_DEFINED, + * Authentication_URI indicating value PX_TO_BE_DEFINED, + * Realm indicating value PX_UE_A_REALM, + * Algorithm indicating value PX_UE_A_AUTH_ALG, + * Nonce indicating value "not empty", + * qop indicating value "auth";, + * Contact indicating value "sos"; + * from the IMS_P_CSCF_A entity + * } + * then { + * the IMS_I_CSCF_A entity sends an 401_Unauthorized containing + * From indicating value PX_UE_A_SIP_URI, + * To indicating value PX_UE_A_SIP_URI, + * CallId indicating value PX_UE_A_CALLID, + * Via indicating value PX_UE_A_VIA, + * AuthenticationInfo, + * PAccessNetworkInfo, + * PAssociatedURI indicating value PX_UE_A_SIP_URI, + * PChargingVector, + * orig_ioi_parameter + * indicating value "Operator Identifier Of ImsA" , + * term_ioi_parameter + * indicating value "Operator Identifier Of ImsB";, + * Path, + * ServiceRoute; + * to the IMS_S_CSCF_A entity + * } + * } + */ function f_mtc_check_TP_MW_ICSCF_ECO_REGISTER_02( in SipInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)){ - var ImsUserInfo v_userInfoA := f_getSipUserId(PX_EUT_A); + var ImsUserInfo v_userInfoA := f_getSipUserId(PX_EUT_A_EMERGENCY); var SipMessage v_sip; // Check the first REGISTER @@ -559,9 +604,9 @@ module AtsImsIot_TP_behavior_MW_IS { /** * @desc Verify that the I-CSCF successfully processes a invalid first registration (Unsuccessful). * Initial conditions with { - * the UE_A entity isAttachedTo the EPC_A and + * the UE_A entity isEmergencyAttachedTo the EPC_A and * the UE_A entity isNotRegisteredTo the IMS_A and - * the UE_B entity isNotRegisteredTo the IMS_B + * the UE_A entity hasAchievedFirstREGISTER * } * * Expected behaviour @@ -572,20 +617,11 @@ module AtsImsIot_TP_behavior_MW_IS { * To indicating value PX_UE_A_SIP_URI, * CallId indicating value PX_UE_A_CALLID, * Via indicating value PX_UE_A_VIA, - * Authorization containing - * Authentication_Schema indicating value PX_TO_BE_DEFINED, - * Authentication_URI indicating value PX_TO_BE_DEFINED, - * Username indicating value PX_UE_A_INVALID_USERNAME, - * Realm indicating value PX_UE_A_REALM, - * Algorithm indicating value PX_UE_A_AUTH_ALG, - * Nonce indicating value "not empty", - * qop indicating value "auth", - * not SecurityClient - * ;; + * Authorization indicating value "invalid credentials"; * from the IMS_P_CSCF_A entity * } * then { - * the IMS_I_CSCF_A entity sends an 404_NotFound containing + * the IMS_I_CSCF_A entity sends an 403_Forbiden containing * From indicating value PX_UE_A_SIP_URI, * To indicating value PX_UE_A_SIP_URI, * CallId indicating value PX_UE_A_CALLID @@ -599,7 +635,7 @@ module AtsImsIot_TP_behavior_MW_IS { in boolean p_checkMessage := true ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)){ - var ImsUserInfo v_userInfoA := f_getSipUserId(PX_EUT_A); // User removed from HSS + var ImsUserInfo v_userInfoA := f_getSipUserId(PX_EUT_A_EMERGENCY); // User removed from HSS var SipMessage v_sip; // Check the first REGISTER @@ -610,7 +646,7 @@ module AtsImsIot_TP_behavior_MW_IS { mw_TP_MW_ICSCF_ECO_REGISTER_03( mw_From_AddrUnion_SipUrl(omit, v_userInfoA.publicId, v_userInfoA.domain), mw_To_AddrUnion_SipUrl(omit, v_userInfoA.publicId, v_userInfoA.domain), - mw_Authorization_other/*(mw_credentialIntegrityYes)*/ + mw_Authorization_other/*(mw_credentialIntegrityYes)*/ // FIXME indicating value "Invalid credentials" ) ) }, @@ -618,7 +654,7 @@ module AtsImsIot_TP_behavior_MW_IS { mw_SipRequest(mw_REGISTER_Request_Base) }, {0, omit}, - "TP_MW_ICSCF_REGISTER_03 - First request", + "TP_MW_ICSCF_ECO_REGISTER_03 - First request", true, p_checkMessage ) @@ -629,11 +665,11 @@ module AtsImsIot_TP_behavior_MW_IS { if (not(isbound(v_sip))) { return; } - // Check REGISTER 404 Not Found response + // Check REGISTER 403 Forbidden response p_monitorCompRef.start( f_Iot_Sip_receive( { - mw_SipResponse(mw_404NotFound(v_sip.request.msgHeader.cSeq, mw_WwwAuthenticate)), + mw_SipResponse(mw_403Forbidden(v_sip.request.msgHeader.cSeq, mw_WwwAuthenticate)), mw_SipResponse(mw_480TemporaryUnavailable(-, v_sip.request.msgHeader.cSeq, mw_WwwAuthenticate)) }, { @@ -643,7 +679,7 @@ module AtsImsIot_TP_behavior_MW_IS { )) }, {0, omit}, - "TP_MW_ICSCF_REGISTER_03 - 404 Not Found", + "TP_MW_ICSCF_REGISTER_04 - 403 Firbidden", false, p_checkMessage ) @@ -652,6 +688,178 @@ module AtsImsIot_TP_behavior_MW_IS { } } // End of function f_mtc_check_TP_MW_ICSCF_ECO_REGISTER_03 + /** + * @desc Verify that the I-CSCF processes an invalid first registration in visited network and sends 403 response (Unsuccessful). + * Initial conditions with { + * the UE_A entity isEmergencyAttachedTo the EPC_A and + * the UE_A entity isNotRegisteredTo the IMS_B + * } + * + * Expected behaviour + * ensure that { + * when { + * the IMS_I_CSCF_A entity receives a REGISTER containing + * From indicating value PX_UE_A_SIP_URI, + * To indicating value PX_UE_A_SIP_URI, + * CallId indicating value PX_UE_A_CALLID, + * Via indicating value PX_UE_A_VIA, + * Authorization indicating value "invalid credentials"; + * from the IMS_P_CSCF_A entity + * } + * then { + * the IMS_I_CSCF_A entity sends an 403_Forbiden containing + * From indicating value PX_UE_A_SIP_URI, + * To indicating value PX_UE_A_SIP_URI, + * CallId indicating value PX_UE_A_CALLID + * ; + * to the IMS_P_CSCF_A entity + * } + * } + */ + function f_mtc_check_TP_MW_ICSCF_ECO_REGISTER_04( + in SipInterfaceMonitor p_monitorCompRef, + in boolean p_checkMessage := true + ) runs on ImsTestCoordinator { + if (isvalue(p_monitorCompRef)){ + var ImsUserInfo v_userInfoA := f_getSipUserId(PX_EUT_A_EMERGENCY); // User removed from HSS + var SipMessage v_sip; + + // Check the first REGISTER + p_monitorCompRef.start( + f_Iot_Sip_receive( + { + mw_SipRequest( + mw_TP_MW_ICSCF_ECO_REGISTER_03( + mw_From_AddrUnion_SipUrl(omit, v_userInfoA.publicId, v_userInfoA.domain), + mw_To_AddrUnion_SipUrl(omit, v_userInfoA.publicId, v_userInfoA.domain), + mw_Authorization_other/*(mw_credentialIntegrityYes)*/ // FIXME indicating value "Invalid credentials" + ) + ) + }, + { + mw_SipRequest(mw_REGISTER_Request_Base) + }, + {0, omit}, + "TP_MW_ICSCF_ECO_REGISTER_04 - First request", + true, + p_checkMessage + ) + ); + p_monitorCompRef.done; + // Retrieve messge + f_getSipMsgFromMonitor(p_monitorCompRef, v_sip); + if (not(isbound(v_sip))) { + return; + } + // Check REGISTER 402 Forbidden response + p_monitorCompRef.start( + f_Iot_Sip_receive( + { + mw_SipResponse(mw_403Forbidden(v_sip.request.msgHeader.cSeq, mw_WwwAuthenticate)), + mw_SipResponse(mw_480TemporaryUnavailable(-, v_sip.request.msgHeader.cSeq, mw_WwwAuthenticate)) + }, + { + mw_SipResponse(mw_Response_4xx_Base( + v_sip.request.msgHeader.callId, + v_sip.request.msgHeader.cSeq + )) + }, + {0, omit}, + "TP_MW_ICSCF_REGISTER_04 - 403 Firbidden", + false, + p_checkMessage + ) + ); + p_monitorCompRef.done; + } + } // End of function f_mtc_check_TP_MW_ICSCF_ECO_REGISTER_04 + + /** + * @desc Verify that the I-CSCF processes an invalid first registration without SecurityClient header in visited network(GIBA supported) and sends 420 response (Unsuccessful). + * Initial conditions with { + * the UE_A entity isEmergencyAttachedTo the EPC_A and + * the UE_A entity isNotRegisteredTo the IMS_B + * } + * + * Expected behaviour + * ensure that { + * when { + * the IMS_I_CSCF_A entity receives a REGISTER containing + * From indicating value PX_UE_A_SIP_URI, + * To indicating value PX_UE_A_SIP_URI, + * CallId indicating value PX_UE_A_CALLID, + * Via indicating value PX_UE_A_VIA, + * Authorization indicating value "invalid credentials"; + * from the IMS_P_CSCF_A entity + * } + * then { + * the IMS_I_CSCF_A entity sends an 420_BadExtension containing + * From indicating value PX_UE_A_SIP_URI, + * To indicating value PX_UE_A_SIP_URI, + * CallId indicating value PX_UE_A_CALLID + * ; + * to the IMS_P_CSCF_A entity + * } + * } + */ + function f_mtc_check_TP_MW_ICSCF_ECO_REGISTER_05( + in SipInterfaceMonitor p_monitorCompRef, + in boolean p_checkMessage := true + ) runs on ImsTestCoordinator { + if (isvalue(p_monitorCompRef)){ + var ImsUserInfo v_userInfoA := f_getSipUserId(PX_EUT_A_EMERGENCY); // User removed from HSS + var SipMessage v_sip; + + // Check the first REGISTER + p_monitorCompRef.start( + f_Iot_Sip_receive( + { + mw_SipRequest( + mw_TP_MW_ICSCF_ECO_REGISTER_03( + mw_From_AddrUnion_SipUrl(omit, v_userInfoA.publicId, v_userInfoA.domain), + mw_To_AddrUnion_SipUrl(omit, v_userInfoA.publicId, v_userInfoA.domain), + mw_Authorization_other/*(mw_credentialIntegrityYes)*/ // FIXME indicating value "Invalid credentials" + ) + ) + }, + { + mw_SipRequest(mw_REGISTER_Request_Base) + }, + {0, omit}, + "TP_MW_ICSCF_ECO_REGISTER_05 - First request", + true, + p_checkMessage + ) + ); + p_monitorCompRef.done; + // Retrieve messge + f_getSipMsgFromMonitor(p_monitorCompRef, v_sip); + if (not(isbound(v_sip))) { + return; + } + // Check REGISTER 420 Bad Extension response + p_monitorCompRef.start( + f_Iot_Sip_receive( + { + mw_SipResponse(mw_420BadExtension(v_sip.request.msgHeader.cSeq, mw_WwwAuthenticate)), + mw_SipResponse(mw_480TemporaryUnavailable(-, v_sip.request.msgHeader.cSeq, mw_WwwAuthenticate)) + }, + { + mw_SipResponse(mw_Response_4xx_Base( + v_sip.request.msgHeader.callId, + v_sip.request.msgHeader.cSeq + )) + }, + {0, omit}, + "TP_MW_ICSCF_REGISTER_04 - 403 Firbidden", + false, + p_checkMessage + ) + ); + p_monitorCompRef.done; + } + } // End of function f_mtc_check_TP_MW_ICSCF_ECO_REGISTER_05 + function f_mtc_check_TP_MW_ICSCF_REGISTER_04( // FIXME RMI To be reviewed in SipInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := true diff --git a/ttcn/AtsImsIot/AtsImsIot_Templates_MW.ttcn b/ttcn/AtsImsIot/AtsImsIot_Templates_MW.ttcn index 05dd774..ad1de23 100644 --- a/ttcn/AtsImsIot/AtsImsIot_Templates_MW.ttcn +++ b/ttcn/AtsImsIot/AtsImsIot_Templates_MW.ttcn @@ -11,6 +11,7 @@ module AtsImsIot_Templates_MW { // libSip import from LibSip_SIPTypesAndValues all; + import from LibSip_MessageBodyTypes all; import from LibSip_Templates all; import from LibSip_Common all; @@ -54,12 +55,18 @@ module AtsImsIot_Templates_MW { template (present) Authorization p_authorization := ?, template PChargingVector p_pChargingVector := *, template PVisitedNetworkID p_pVisitedNetworkID := *, - template (present) Contact p_contact := ? + template (present) Contact p_contact := ?, + template (present) Path p_path := ?, + template (present) Warning p_warning := ?, + template (present) PAccessNetworkInfo p_pAccessNetworkInfo := ? ) modifies mw_REGISTER_authorizedRequest_wo_securityheaders_IMS := { msgHeader := { - contact := p_contact + contact := p_contact, + path := p_path, + warning := p_warning, + pAccessNetworkInfo := p_pAccessNetworkInfo } - } // End of template mw_TP_MW_PCSCF_REGISTER_01 + } // End of template mw_TP_MW_PCSCF_ECO_REGISTER_01 template(present) REGISTER_Request mw_TP_MW_PCSCF_REGISTER_02( template (present) From p_from := ?, @@ -70,6 +77,23 @@ module AtsImsIot_Templates_MW { ) modifies mw_TP_MW_PCSCF_REGISTER_01 := { } // End of template mw_TP_MW_PCSCF_REGISTER_02 + template(present) REGISTER_Request mw_TP_MW_PCSCF_ECO_REGISTER_02( + template (present) From p_from := ?, + template (present) To p_to := ?, + template (present) Authorization p_authorization := ?, + template PChargingVector p_pChargingVector := *, + template PVisitedNetworkID p_pVisitedNetworkID := *, + template (present) Contact p_contact := ?, + template (present) Path p_path := ?, + template (present) Warning p_warning := ?, + template (present) PAccessNetworkInfo p_pAccessNetworkInfo := ?, + template (present) ServiceRoute p_serviceRoute := ? + ) modifies mw_TP_MW_PCSCF_ECO_REGISTER_01 := { + msgHeader := { + serviceRoute := p_serviceRoute + } + } // End of template mw_TP_MW_PCSCF_ECO_REGISTER_02 + template(present) REGISTER_Request mw_TP_MW_PCSCF_REGISTER_04( template (present) From p_from := ?, template (present) To p_to := ?, @@ -228,12 +252,38 @@ module AtsImsIot_Templates_MW { } } // End of template mw_TP_MW_PCSCF_INVITE_01 + template (present) INVITE_Request mw_TP_MW_PCSCF_ECO_INVITE_01( + template (present) SipUrl p_invite_uri := ?, + template (present) From p_from := ?, + template (present) To p_to := ?, + template (present) Contact p_contact := ?, + template (present) MessageBody p_messageBody := ? + ) modifies mw_TP_MW_PCSCF_INVITE_01 := { + msgHeader := { + contact := p_contact + }, + messageBody := p_messageBody + } + template (present) INVITE_Request mw_TP_MW_PCSCF_INVITE_02( // TODO To be enforced template (present) SipUrl p_invite_uri := ?, template (present) From p_from := ?, template (present) To p_to := ? ) modifies mw_TP_MW_PCSCF_INVITE_01 := { - } // End of template mw_TP_MW_PCSCF_INVITE_03 + } // End of template mw_TP_MW_PCSCF_INVITE_02 + + template (present) INVITE_Request mw_TP_MW_PCSCF_ECO_INVITE_02( // TODO To be enforced + template (present) SipUrl p_invite_uri := ?, + template (present) From p_from := ?, + template (present) To p_to := ?, + template (present) Contact p_contact := ?, + template (present) MessageBody p_messageBody := ?, + template (present) PAssertedID p_pAssertedID := ? + ) modifies mw_TP_MW_PCSCF_ECO_INVITE_01 := { + msgHeader := { + pAssertedID := p_pAssertedID + } + } // End of template mw_TP_MW_PCSCF_ECO_INVITE_02 template (present) INVITE_Request mw_TP_MW_PCSCF_INVITE_03( // TODO To be enforced template (present) SipUrl p_invite_uri := ?, @@ -242,6 +292,16 @@ module AtsImsIot_Templates_MW { ) modifies mw_TP_MW_PCSCF_INVITE_01 := { } // End of template mw_TP_MW_PCSCF_INVITE_03 + template (present) INVITE_Request mw_TP_MW_PCSCF_ECO_INVITE_03( // TODO To be enforced + template (present) SipUrl p_invite_uri := ?, + template (present) From p_from := ?, + template (present) To p_to := ?, + template (present) Contact p_contact := ?, + template (present) MessageBody p_messageBody := ?, + template (present) PAssertedID p_pAssertedID := ? + ) modifies mw_TP_MW_PCSCF_ECO_INVITE_02 := { + } // End of template mw_TP_MW_PCSCF_ECO_INVITE_03 + template (present) INVITE_Request mw_TP_MW_PCSCF_INVITE_04( // TODO To be enforced template (present) SipUrl p_invite_uri := ?, template (present) From p_from := ?, @@ -249,6 +309,29 @@ module AtsImsIot_Templates_MW { ) modifies mw_TP_MW_PCSCF_INVITE_01 := { } // End of template mw_TP_MW_PCSCF_INVITE_04 + template (present) INVITE_Request mw_TP_MW_PCSCF_ECO_INVITE_04( // TODO To be enforced + template (present) SipUrl p_invite_uri := ?, + template (present) From p_from := ?, + template (present) To p_to := ?, + template (present) Contact p_contact := ?, + template (present) MessageBody p_messageBody := ?, + template (present) PAssertedID p_pAssertedID := ? + ) modifies mw_TP_MW_PCSCF_ECO_INVITE_02 := { + } // End of template mw_TP_MW_PCSCF_ECO_INVITE_04 + + template (present) INVITE_Request mw_TP_MW_PCSCF_ECO_INVITE_05( // TODO To be enforced + template (present) SipUrl p_invite_uri := ?, + template (present) From p_from := ?, + template (present) To p_to := ?, + template (present) Contact p_contact := ?, + template (present) MessageBody p_messageBody := ?, + template (present) PPreferredID p_pPreferredID := ? + ) modifies mw_TP_MW_PCSCF_ECO_INVITE_01 := { + msgHeader := { + pPreferredID := p_pPreferredID + } + } // End of template mw_TP_MW_PCSCF_ECO_INVITE_04 + template (present) INVITE_Request mw_TP_MW_PCSCF_RE_INVITE_01( // TODO To be enforced template (present) SipUrl p_invite_uri := ?, template (present) From p_from := ?, @@ -344,10 +427,10 @@ module AtsImsIot_Templates_MW { } // End of template mw_TP_MW_PCSCF_180Ringing_04 template (present) Response mw_TP_MW_PCSCF_183SessionProgress_01( - template (present) CSeq p_cSeq := ?, - template (present) From p_from := ?, - template (present) To p_to := ? - ) modifies mw_183SessionProgress_Base := { + template (present) CSeq p_cSeq := ?, + template (present) From p_from := ?, + template (present) To p_to := ? + ) modifies mw_183SessionProgress_Base := { msgHeader := { cSeq := p_cSeq, fromField := p_from, @@ -356,24 +439,24 @@ module AtsImsIot_Templates_MW { } // End of template mw_TP_MW_PCSCF_183SessionProgress_01 template (present) Response mw_TP_MW_PCSCF_183SessionProgress_02( - template (present) CSeq p_cSeq := ?, - template (present) From p_from := ?, - template (present) To p_to := ? - ) modifies mw_TP_MW_PCSCF_183SessionProgress_01 := { + template (present) CSeq p_cSeq := ?, + template (present) From p_from := ?, + template (present) To p_to := ? + ) modifies mw_TP_MW_PCSCF_183SessionProgress_01 := { } // End of template mw_TP_MW_PCSCF_183SessionProgress_02 template (present) Response mw_TP_MW_PCSCF_183SessionProgress_03( - template (present) CSeq p_cSeq := ?, - template (present) From p_from := ?, - template (present) To p_to := ? - ) modifies mw_TP_MW_PCSCF_183SessionProgress_01 := { + template (present) CSeq p_cSeq := ?, + template (present) From p_from := ?, + template (present) To p_to := ? + ) modifies mw_TP_MW_PCSCF_183SessionProgress_01 := { } // End of template mw_TP_MW_PCSCF_183SessionProgress_03 template (present) Response mw_TP_MW_PCSCF_183SessionProgress_04( - template (present) CSeq p_cSeq := ?, - template (present) From p_from := ?, - template (present) To p_to := ? - ) modifies mw_TP_MW_PCSCF_183SessionProgress_01 := { + template (present) CSeq p_cSeq := ?, + template (present) From p_from := ?, + template (present) To p_to := ? + ) modifies mw_TP_MW_PCSCF_183SessionProgress_01 := { } // End of template mw_TP_MW_PCSCF_183SessionProgress_04 template (present) ACK_Request mw_TP_MW_PCSCF_ACK_01( // TODO To be enforced -- GitLab From e1ad536a91ca02777bc415397c9b5963e50e4f59 Mon Sep 17 00:00:00 2001 From: garciay Date: Tue, 19 Sep 2023 09:55:56 +0200 Subject: [PATCH 08/32] Review of TTCN-3 implementation & templates of all emergency TPs for the SIP part --- ttcn/AtsImsIot/AtsImsIot_Emergency.ttcn | 48 +- ttcn/AtsImsIot/AtsImsIot_TP_behavior_MI.ttcn | 655 ++++++++++-------- ttcn/AtsImsIot/AtsImsIot_TP_behavior_ML.ttcn | 38 - ttcn/AtsImsIot/AtsImsIot_TP_behavior_MM.ttcn | 560 +++++++-------- .../AtsImsIot_TP_behavior_MW_PS.ttcn | 18 +- ttcn/AtsImsIot/AtsImsIot_Templates_MI.ttcn | 56 +- ttcn/AtsImsIot/AtsImsIot_Templates_MM.ttcn | 74 +- 7 files changed, 772 insertions(+), 677 deletions(-) diff --git a/ttcn/AtsImsIot/AtsImsIot_Emergency.ttcn b/ttcn/AtsImsIot/AtsImsIot_Emergency.ttcn index ccaa9b5..0211034 100644 --- a/ttcn/AtsImsIot/AtsImsIot_Emergency.ttcn +++ b/ttcn/AtsImsIot/AtsImsIot_Emergency.ttcn @@ -691,7 +691,7 @@ module AtsImsIot_Emergency { f_mtc_check_TP_MW_PCSCF_ECO_INVITE_02(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 10 f_mtc_check_TP_MW_PCSCF_ECO_100Trying_01(vc_vxlte_monitor_components.mwPE, -, v_sip); - f_mtc_check_TP_ML_ECSCF_ECO_INVITE_02(vc_vxlte_monitor_components.mlE_LRF, -, v_sip); // Event 11 + f_mtc_check_TP_ML_ECSCF_ECO_INVITE_01(vc_vxlte_monitor_components.mlE_LRF, -, v_sip); // Event 11 f_mtc_check_TP_ML_ECSCF_ECO_3xx_01(vc_vxlte_monitor_components.mlE_LRF, -, v_sip); // Event 12 f_mtc_check_TP_MM_ECSCF_ECO_INVITE_02(vc_vxlte_monitor_components.mmB_PSAP, -, v_sip); // Event 13 @@ -1086,13 +1086,13 @@ module AtsImsIot_Emergency { f_mtc_check_TP_MW_PCSCF_ECO_INVITE_02(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 10 f_mtc_check_TP_MW_PCSCF_ECO_100Trying_01(vc_vxlte_monitor_components.mwPE, -, v_sip); - f_mtc_check_TP_MI_BGCF_ECO_INVITE_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 11 - f_mtc_check_TP_MI_BGCF_ECO_100Trying_01(vc_vxlte_monitor_components.mwEB, -, v_sip); + f_mtc_check_TP_MI_ECSCF_ECO_INVITE_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 11 + f_mtc_check_TP_MI_ECSCF_ECO_100Trying_01(vc_vxlte_monitor_components.mwEB, -, v_sip); f_mtc_check_TP_MM_ECSCF_ECO_INVITE_01(vc_vxlte_monitor_components.mmB_PSAP, -, v_sip); // Event 12 // 183 Session Progress f_mtc_check_TP_MM_ECSCF_ECO_183SESSION_PROGRESS_01(vc_vxlte_monitor_components.mmB_PSAP, -, v_sip); // Event 13 - f_mtc_check_TP_MI_BGCF_ECO_183SESSION_PROGRESS_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 14 + f_mtc_check_TP_MI_ECSCF_ECO_183SESSION_PROGRESS_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 14 f_mtc_check_TP_MW_PCSCF_ECO_183SESSION_PROGRESS_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 15 f_mtc_check_TP_GM_PCSCF_183SESSION_PROGRESS_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 20 @@ -1103,7 +1103,7 @@ module AtsImsIot_Emergency { f_mtc_check_TP_RX_PCRF_AAA_02(vc_vxlte_monitor_components.rx); // Event 19 f_mtc_check_TP_MM_ECSCF_ECO_180RINGING_01(vc_vxlte_monitor_components.mmB_PSAP, -, v_sip); // 180 Ringing – Event 22 - f_mtc_check_TP_MI_BGCF_ECO_180RINGING_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 23 + f_mtc_check_TP_MI_ECSCF_ECO_180RINGING_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 23 f_mtc_check_TP_MW_PCSCF_ECO_180RINGING_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 24 f_mtc_check_TP_GM_PCSCF_180RINGING_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 25 @@ -1112,13 +1112,13 @@ module AtsImsIot_Emergency { f_mtc_userAnswerCall(v_psap); f_mtc_check_TP_MM_ECSCF_ECO_200OK_01(vc_vxlte_monitor_components.mmB_PSAP, -, v_sip); // 200 OK – Event 26 - f_mtc_check_TP_MI_BGCF_ECO_200OK_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 27 + f_mtc_check_TP_MI_ECSCF_ECO_200OK_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 27 f_mtc_check_TP_MW_PCSCF_ECO_200OK_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 28 f_mtc_check_TP_GM_PCSCF_200OK_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 29 f_mtc_check_TP_GM_PCSCF_ACK_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 30 f_mtc_check_TP_MW_PCSCF_ECO_ACK_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 31 - f_mtc_check_TP_MI_BGCF_ECO_ACK_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 32 + f_mtc_check_TP_MI_ECSCF_ECO_ACK_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 32 f_mtc_check_TP_MM_ECSCF_ECO_ACK_01(vc_vxlte_monitor_components.mmB_PSAP, -, v_sip); // ACK – Event 33 f_mtc_userCheckCallEstablished(v_ueA); // Event 34 @@ -1402,7 +1402,7 @@ module AtsImsIot_Emergency { // Test body - f_mtc_check_TP_MM_ECSCF_ECO_INVITE_01(vc_vxlte_monitor_components.mmB_PSAP, -, v_sip); // INVITE Event 1 + f_mtc_check_TP_MM_ECSCF_ECO_INVITE_03(vc_vxlte_monitor_components.mmB_PSAP, -, v_sip); // INVITE Event 1 f_mtc_check_TP_MM_ECSCF_ECO_100Trying_01(vc_vxlte_monitor_components.mmB_PSAP, -, v_sip); f_mtc_check_TP_MW_PCSCF_ECO_INVITE_02(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 6 @@ -1898,7 +1898,7 @@ module AtsImsIot_Emergency { f_mtc_check_TP_GM_PCSCF_ECO_BYE_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 2 f_mtc_check_TP_MW_PCSCF_ECO_BYE_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 3 - f_mtc_check_TP_MI_BGCF_ECO_BYE_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 7 + f_mtc_check_TP_MI_ECSCF_ECO_BYE_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 7 //Rx/Gx exchange after BYE was received at P-CSCF f_mtc_check_TP_RX_PCSCF_STR_01(vc_vxlte_monitor_components.rx); // (STR – Event 10 @@ -1906,7 +1906,7 @@ module AtsImsIot_Emergency { f_mtc_check_TP_GX_PGW_RAA_03(vc_vxlte_monitor_components.gx); // (RAA – Event 12) f_mtc_check_TP_RX_PCRF_STA_01(vc_vxlte_monitor_components.rx); // (STA – Event 13) - f_mtc_check_TP_MI_BGCF_ECO_200OK_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 17 + f_mtc_check_TP_MI_ECSCF_ECO_200OK_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 17 f_mtc_check_TP_MW_PCSCF_ECO_200OK_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 20 f_mtc_check_TP_GM_PCSCF_200OK_02(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 21 @@ -2456,21 +2456,21 @@ module AtsImsIot_Emergency { f_mtc_check_TP_RX_PCRF_STA_01(vc_vxlte_monitor_components.rx); // (STA – Event 5) f_mtc_check_TP_MW_PCSCF_EMC_CANCEL_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 6 - f_mtc_check_TP_MI_BGCF_ECO_CANCEL_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 13 + f_mtc_check_TP_MI_ECSCF_EMC_CANCEL_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 13 f_mtc_check_TP_MM_ECSCF_ECO_CANCEL_01(vc_vxlte_monitor_components.mmB_PSAP, -, v_sip); // Event 14 - f_mtc_check_TP_MI_BGCF_ECO_200OK_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 16 + f_mtc_check_TP_MI_ECSCF_ECO_200OK_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 16 f_mtc_check_TP_MW_PCSCF_ECO_200OK_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 17 f_mtc_check_TP_GM_PCSCF_200OK_02(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 18 - f_mtc_check_TP_MM_ECSCF_ECO_487INVITE_01(vc_vxlte_monitor_components.mmB_PSAP, -, v_sip); // Event 22 - f_mtc_check_TP_MI_BGCF_ECO_487INVITE_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 23 + f_mtc_check_TP_MM_ECSCF_EMC_487INVITE_01(vc_vxlte_monitor_components.mmB_PSAP, -, v_sip); // Event 22 + f_mtc_check_TP_MI_ECSCF_EMC_487INVITE_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 23 f_mtc_check_TP_MW_PCSCF_EMC_487INVITE_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 24 f_mtc_check_TP_GM_PCSCF_487INVITE_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 25 f_mtc_check_TP_GM_PCSCF_ECO_ACK_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 26 f_mtc_check_TP_MW_PCSCF_ECO_ACK_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 27 - f_mtc_check_TP_MI_BGCF_ECO_ACK_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 31 + f_mtc_check_TP_MI_ECSCF_ECO_ACK_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 31 f_mtc_check_TP_MM_ECSCF_ECO_ACK_01(vc_vxlte_monitor_components.mmB_PSAP, -, v_sip); // Event 32 f_mtc_userCheckCallTerminated(v_ueA); // Event 33 @@ -2566,8 +2566,8 @@ module AtsImsIot_Emergency { f_mtc_check_TP_MM_ECSCF_ECO_INVITE_01(vc_vxlte_monitor_components.mmB_PSAP, -, v_sip); // Event 11 // 480 Temporary Unvailable - f_mtc_check_TP_MM_ECSCF_ECO_480TEMPAV_01(vc_vxlte_monitor_components.mmB_PSAP, -, v_sip); // 480 Temporary Unavailables Event 14 - f_mtc_check_TP_MW_PCSCF_ECO_480TEMPAV_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 23 + f_mtc_check_TP_MM_ECSCF_ECO_480INVITE_01(vc_vxlte_monitor_components.mmB_PSAP, -, v_sip); // 480 Temporary Unavailables Event 14 + f_mtc_check_TP_MW_PCSCF_ECO_480INVITE_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 23 f_mtc_check_TP_RX_PCSCF_STR_01(vc_vxlte_monitor_components.rx); // Event 24 f_mtc_check_TP_GX_PCRF_RAR_01(vc_vxlte_monitor_components.gx, true); // Event 25 @@ -2674,7 +2674,7 @@ module AtsImsIot_Emergency { // 480 Temporary Unavailable f_mtc_check_TP_IC_IBCF_480TEMPAV_01(vc_vxlte_monitor_components.ic, -, v_sip); // INVITE Event 12 (NOTE: comment out if ISC simulated by Ic) - f_mtc_check_TP_MW_PCSCF_ECO_480TEMPAV_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 23 + f_mtc_check_TP_MW_PCSCF_ECO_480INVITE_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 23 f_mtc_check_TP_RX_PCSCF_STR_01(vc_vxlte_monitor_components.rx); // Event 24 f_mtc_check_TP_GX_PCRF_RAR_01(vc_vxlte_monitor_components.gx, true); // Event 25 @@ -2774,14 +2774,14 @@ module AtsImsIot_Emergency { f_mtc_check_TP_MW_PCSCF_ECO_INVITE_02(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 12 f_mtc_check_TP_MW_PCSCF_ECO_100Trying_01(vc_vxlte_monitor_components.mwPE, -, v_sip); - f_mtc_check_TP_MI_BGCF_ECO_INVITE_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 19 - f_mtc_check_TP_MI_BGCF_ECO_100Trying_01(vc_vxlte_monitor_components.mwEB, -, v_sip); + f_mtc_check_TP_MI_ECSCF_ECO_INVITE_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 19 + f_mtc_check_TP_MI_ECSCF_ECO_100Trying_01(vc_vxlte_monitor_components.mwEB, -, v_sip); f_mtc_check_TP_MM_ECSCF_ECO_INVITE_01(vc_vxlte_monitor_components.mmB_PSAP, -, v_sip); // Event 20 // 480 Temporary Unavailable - f_mtc_check_TP_MM_ECSCF_ECO_480TEMPAV_01(vc_vxlte_monitor_components.mmB_PSAP, -, v_sip); // Event 21 - f_mtc_check_TP_MI_BGCF_ECO_480TEMPAV_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 22 - f_mtc_check_TP_MW_PCSCF_ECO_480TEMPAV_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 23 + f_mtc_check_TP_MM_ECSCF_ECO_480INVITE_01(vc_vxlte_monitor_components.mmB_PSAP, -, v_sip); // Event 21 + f_mtc_check_TP_MI_ECSCF_ECO_480INVITE_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 22 + f_mtc_check_TP_MW_PCSCF_ECO_480INVITE_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 23 f_mtc_check_TP_RX_PCSCF_STR_01(vc_vxlte_monitor_components.rx); // Event 24 f_mtc_check_TP_GX_PCRF_RAR_01(vc_vxlte_monitor_components.gx, true); // Event 25 @@ -2792,7 +2792,7 @@ module AtsImsIot_Emergency { f_mtc_check_TP_GM_PCSCF_ECO_ACK_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 29 f_mtc_check_TP_MW_PCSCF_ECO_ACK_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 30 - f_mtc_check_TP_MI_BGCF_ECO_ACK_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 34 + f_mtc_check_TP_MI_ECSCF_ECO_ACK_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 34 f_mtc_check_TP_MM_ECSCF_ECO_ACK_01(vc_vxlte_monitor_components.mmB_PSAP, -, v_sip); // ACK – Event 35 f_mtc_userCheckCallTerminated(v_ueA); // Event 33 diff --git a/ttcn/AtsImsIot/AtsImsIot_TP_behavior_MI.ttcn b/ttcn/AtsImsIot/AtsImsIot_TP_behavior_MI.ttcn index 44d7029..8669444 100644 --- a/ttcn/AtsImsIot/AtsImsIot_TP_behavior_MI.ttcn +++ b/ttcn/AtsImsIot/AtsImsIot_TP_behavior_MI.ttcn @@ -15,6 +15,7 @@ module AtsImsIot_TP_behavior_MI { import from LibIot_PIXITS all; // LibSip import from LibSip_SIPTypesAndValues all; + import from LibSip_MessageBodyTypes all; import from LibSip_Templates all; import from LibSip_Common all; import from LibSip_SDPTypes all; @@ -24,7 +25,6 @@ module AtsImsIot_TP_behavior_MI { import from LibMsrp_Templates all; // AtsImsIot import from AtsImsIot_TestSystem all; - import from AtsImsIot_Templates_MW all; import from AtsImsIot_Templates_MI all; import from AtsImsIot_Templates all; import from AtsImsIot_TypesAndValues all; @@ -32,7 +32,45 @@ module AtsImsIot_TP_behavior_MI { group imsInvite { - function f_mtc_check_TP_MI_BGCF_ECO_INVITE_01( + /** + * @desc "Verify that the E-CSCF successfully processes an initial INVITE from the P-CSCF and routes the request to the BGCF for a PSAP in the PSTN." + * Reference + * "ETSI TS 124 229 [1], Clauses 5.11.3" + * Config Id CF_VxLTE_INT + * PICS Selection NONE + * Initial conditions with { + * the IMS_E_CSCF entity supportsRoutingTo the BGCF + * } + * Expected behaviour + * ensure that { + * when { + * the IMS_E_CSCF entity receives an INVITE containing + * From indicating value PX_UE_A_SIP_URI, + * To indicating value PX_SIP_EMERGENCY_SERVICE_URN, + * CallId indicating value PX_UE_A_CALLID, + * Via indicating value PX_P_CSCF_A_VIA, + * Route indicating value PX_E_CSCF_SERVICE_ROUTE, // 5.2.10.3 1B) option is assumed + * PAssertedIdentity, + * MessageBody; + * from the IMS_P_CSCF_A entity + * } + * then { + * the IMS_E_CSCF entity sends an INVITE containing + * From indicating value PX_UE_A_SIP_URI, + * To indicating value PX_SIP_EMERGENCY_SERVICE_URN, + * CallId indicating value PX_UE_A_CALLID, + * Via indicating value PX_E_CSCF_VIA, + * Route indicating value PX_LRF_SERVICE_ROUTE, + * PChargingVector containing + * not term_ioi_parameter, + * orig_ioi_parameter + * indicating value "Operator Identifier Of ImsA";, + * MessageBody; + * to the IMS_BGCF_A entity + * } + * } + */ + function f_mtc_check_TP_MI_ECSCF_ECO_INVITE_01( in SipInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false, out SipMessage p_sip @@ -44,7 +82,7 @@ module AtsImsIot_TP_behavior_MI { // Check the INVITE p_monitorCompRef.start( f_Iot_Sip_receive( - { mw_SipRequest(mw_TP_MI_BGCF_INVITE_01( + { mw_SipRequest(mw_TP_MI_ECSCF_INVITE_01( -, // FIXME Set expected value mw_From_AddrUnion_TelUrl(-), // v_userInfoA.publicId mw_To_AddrUnion_TelUrl(-) // v_psapInfo.publicId @@ -52,7 +90,7 @@ module AtsImsIot_TP_behavior_MI { }, { mw_SipRequest(mw_INVITE_Request_Base) }, {0, omit}, - "TP_MI_BGCF_INVITE_01 - Request", + "TP_MI_ECSCF_ECO_INVITE_01 - Request", true, p_checkMessage ) @@ -62,9 +100,43 @@ module AtsImsIot_TP_behavior_MI { f_getSipMsgFromMonitor(p_monitorCompRef, p_sip); log("##### p_sip: ", p_sip); } - } // End of function f_mtc_check_TP_MI_BGCF_ECO_INVITE_01 + } // End of function f_mtc_check_TP_MI_ECSCF_ECO_INVITE_01 - function f_mtc_check_TP_MI_BGCF_ECO_INVITE_02( + /** + * @desc "Verify that the E-CSCF successfully processes an initial INVITE from the P-CSCF and routes the request to the BGCF for a PSAP in the PSTN and includes the LRF provided URI in the Request-URI." + * Reference + * "ETSI TS 124 229 [1], Clauses 5.11.3" + * Config Id CF_VxLTE_INT + * PICS Selection NONE + * Initial conditions with { + * the IMS_E_CSCF entity supportsRoutingTo the IMS_LRF and + * the IMS_E_CSCF entity hasSentINVITETo the IMS_LRF and + * the IMS_E_CSCF entity supportsRoutingTo the BGCF + * } + * Expected behaviour + * ensure that { + * when { + * the IMS_E_CSCF entity receives an INVITE containing + * Contact indicating value LRF_provided_SIP_URI; + * from the IMS_LRF entity + * } + * then { + * the IMS_E_CSCF entity sends an INVITE containing + * From indicating value PX_UE_A_SIP_URI, + * To indicating value PX_SIP_EMERGENCY_SERVICE_URN, + * CallId indicating value PX_UE_A_CALLID, + * Via indicating value PX_E_CSCF_VIA, + * Route indicating value PX_LRF_SERVICE_ROUTE, + * PChargingVector containing + * not term_ioi_parameter, + * orig_ioi_parameter + * indicating value "Operator Identifier Of ImsA";, + * MessageBody; + * to the IMS_BGCF_A entity + * } + * } + */ + function f_mtc_check_TP_MI_ECSCF_ECO_INVITE_02( in SipInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false, out SipMessage p_sip @@ -76,7 +148,7 @@ module AtsImsIot_TP_behavior_MI { // Check the INVITE p_monitorCompRef.start( f_Iot_Sip_receive( - { mw_SipRequest(mw_TP_MI_BGCF_INVITE_01( + { mw_SipRequest(mw_TP_MI_ECSCF_INVITE_02( -, // FIXME Set expected value mw_From_AddrUnion_TelUrl(-), // v_userInfoA.publicId mw_To_AddrUnion_TelUrl(-) // v_psapInfo.publicId @@ -84,7 +156,7 @@ module AtsImsIot_TP_behavior_MI { }, { mw_SipRequest(mw_INVITE_Request_Base) }, {0, omit}, - "TP_MI_BGCF_INVITE_01 - Request", + "TP_MI_ECSCF_ECO_INVITE_02 - Request", true, p_checkMessage ) @@ -94,34 +166,84 @@ module AtsImsIot_TP_behavior_MI { f_getSipMsgFromMonitor(p_monitorCompRef, p_sip); log("##### p_sip: ", p_sip); } - } // End of function f_mtc_check_TP_MI_BGCF_ECO_INVITE_02 - - } // End of group imsInvite + } // End of function f_mtc_check_TP_MI_ECSCF_ECO_INVITE_02 - group ims100Trying { - /** - * @desc Verify that the E-CSCF successfully processes a 100 (Trying) provisional response on initial INVITE (Originating Leg). + * @desc "Verify that the E-CSCF successfully processes a callback INVITE from PSAP in the PSTN over BGCF and routes the request to the P-CSCF." + * Reference + * "ETSI TS 124 229 [1], Clause 4.1 item 12" + * Config Id CF_VxLTE_INT + * PICS Selection NONE * Initial conditions with { - * the UE_A entity isAttachedTo the EPC_A and - * the PSAP entity isAttachedTo the EPC_B and - * the UE_A entity isRegisteredTo the IMS_A and - * the PSAP entity isRegisteredTo the IMS_B + * the IMS_E_CSCF entity supportsRoutingTo the BGCF * } - * * Expected behaviour - * ensure that { - * when { - * the IMS_E_CSCF_A entity receives a 100_Trying - * from the PSAP entity - * } - * then { - * the IMS_E_CSCF_A entity sends a 100_Trying - * to the IMS_P_CSCF_A entity + * ensure that { + * when { + * the IMS_E_CSCF entity receives an INVITE containing + * From indicating value PX_PSAP_TEL_URI,// see 5.11.2 6) b) + * To indicating value PX_SIP_EMERGENCY_SERVICE_URN, + * CallId indicating value PX_PSAP_CALLID, + * Via indicating value PX_BGCF_VIA, + * Route indicating value PX_E_CSCF_SERVICE_ROUTE, // 5.2.10.3 1B) option is assumed + * PAssertedIdentity, + * MessageBody; + * from the IMS_BGCF_A entity + * } + * then { + * the IMS_E_CSCF entity sends an INVITE containing + * From indicating value PX_UE_A_SIP_URI, + * To indicating value PX_SIP_EMERGENCY_SERVICE_URN, + * CallId indicating value PX_UE_A_CALLID, + * Via indicating value PX_E_CSCF_VIA, + * Route indicating value PX_P_CSCD_SERVICE_ROUTE, + * RecordRoute PX_E_CSCF_SERVICE_ROUTE, + * PChargingVector containing + * not term_ioi_parameter, + * orig_ioi_parameter + * indicating value "Operator Identifier Of ImsA";, + * MessageBody; + * to the IMS_P_CSCF_A entity * } * } */ - function f_mtc_check_TP_MI_BGCF_ECO_100Trying_01( + function f_mtc_check_TP_MI_ECSCF_ECO_INVITE_03( + in SipInterfaceMonitor p_monitorCompRef, + in boolean p_checkMessage := false, + out SipMessage p_sip + ) runs on ImsTestCoordinator { + if (isvalue(p_monitorCompRef)) { + var ImsUserInfo v_userInfoA := f_getTelUserId(PX_EUT_A_EMERGENCY); + var ImsUserInfo v_psapInfo := f_getSipUserId(PX_PSAP); + + // Check the INVITE + p_monitorCompRef.start( + f_Iot_Sip_receive( + { mw_SipRequest(mw_TP_MI_ECSCF_INVITE_03( + -, // FIXME Set expected value + mw_From_AddrUnion_TelUrl(-), // v_userInfoA.publicId + mw_To_AddrUnion_TelUrl(-) // v_psapInfo.publicId + )) + }, + { mw_SipRequest(mw_INVITE_Request_Base) }, + {0, omit}, + "TP_MI_ECSCF_ECO_INVITE_03 - Request", + true, + p_checkMessage + ) + ); + p_monitorCompRef.done; + // Retrieve messge + f_getSipMsgFromMonitor(p_monitorCompRef, p_sip); + log("##### p_sip: ", p_sip); + } + } // End of function f_mtc_check_TP_MI_ECSCF_ECO_INVITE_03 + + } // End of group imsInvite + + group ims100Trying { + + function f_mtc_check_TP_MI_ECSCF_ECO_100Trying_01( in SipInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false, in SipMessage p_sip @@ -130,7 +252,7 @@ module AtsImsIot_TP_behavior_MI { // Check the 100 TRYING p_monitorCompRef.start( f_Iot_Sip_receive( - { mw_SipResponse(mw_TP_MI_BGCF_100Trying_01( + { mw_SipResponse(mw_TP_MI_ECSCF_100Trying_01( p_sip.request.msgHeader.cSeq, p_sip.request.msgHeader.fromField, p_sip.request.msgHeader.toField @@ -138,53 +260,20 @@ module AtsImsIot_TP_behavior_MI { }, { mw_SipResponse(mw_100Trying_Base) }, { 0, omit }, - "TP_MI_BGCF_100Trying_01", + "TP_MI_ECSCF_ECO_100Trying_01", false, p_checkMessage ) ); p_monitorCompRef.done; } - } // End of function f_mtc_check_TP_MI_BGCF_ECO_100Trying_01 + } // End of function f_mtc_check_TP_MI_ECSCF_ECO_100Trying_01 } // End of group ims100Trying group ims180Ringing { - /** - * @desc Verify that the IMS_E_CSCF_A successfully processes a 180 (Ringing) provisional response on initial INVITE (Originating Leg). - * Initial conditions with { - * the UE_A entity isAttachedTo the EPC_A and - * the PSAP entity isAttachedTo the EPC_B and - * the UE_A entity isRegisteredTo the IMS_A and - * the PSAP entity isRegisteredTo the IMS_B - * } - * - * Expected behaviour - * ensure that { - * when { - * the IMS_E_CSCF_A entity receives a 180_Ringing containing - * From indicating value PX_PSAP_SIP_URI, - * To indicating value PX_UE_A_SIP_URI, - * CallId indicating value PX_PSAP_CALLID, - * Via indicating value PX_PSAP_VIA, - * Route indicating value PX_PSAP_SERVICE_ROUTE - * ; - * from the PSAP entity - * } - * then { - * the IMS_E_CSCF_A entity sends a 180_Ringing containing - * From indicating value PX_PSAP_SIP_URI, - * To indicating value PX_UE_A_SIP_URI, - * CallId indicating value PX_PSAP_CALLID, - * Via indicating value PX_PSAP_VIA, - * Route indicating value PX_PSAP_SERVICE_ROUTE - * ; - * to the IMS_P_CSCF_A entity - * } - * } - */ - function f_mtc_check_TP_MI_BGCF_ECO_180RINGING_01( + function f_mtc_check_TP_MI_ECSCF_ECO_180RINGING_01( in SipInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false, in SipMessage p_sip @@ -193,7 +282,7 @@ module AtsImsIot_TP_behavior_MI { // Check the 180 RINGING p_monitorCompRef.start( f_Iot_Sip_receive( - { mw_SipResponse(mw_TP_MI_BGCF_180Ringing_01( + { mw_SipResponse(mw_TP_MI_ECSCF_180Ringing_01( p_sip.request.msgHeader.cSeq, p_sip.request.msgHeader.fromField, mw_To_NameAddr_TelUrl( @@ -203,53 +292,20 @@ module AtsImsIot_TP_behavior_MI { }, { mw_SipResponse(mw_180Ringing_Base) }, { 0, omit }, - "TP_MI_BGCF_180RINGING_01", + "TP_MI_ECSCF_ECO_180RINGING_01", false, p_checkMessage ) ); p_monitorCompRef.done; } - } // End of function f_mtc_check_TP_MI_BGCF_ECO_180RINGING_01 + } // End of function f_mtc_check_TP_MI_ECSCF_ECO_180RINGING_01 } // End of group ims180Ringing group ims183SessionProgress { - /** - * @desc Verify that the IMS_E_CSCF_A successfully processes a 183 (Ringing) provisional response on initial INVITE (Originating Leg). - * Initial conditions with { - * the UE_A entity isAttachedTo the EPC_A and - * the PSAP entity isAttachedTo the EPC_B and - * the UE_A entity isRegisteredTo the IMS_A and - * the PSAP entity isRegisteredTo the IMS_B - * } - * - * Expected behaviour - * ensure that { - * when { - * the IMS_E_CSCF_A entity receives a 183_SessionProgress containing - * From indicating value PX_SAP_URI, - * To indicating value PX_UE_A_SIP_URI, - * CallId indicating value PX_SAP_CALLID, - * Via indicating value PX_PSAP_VIA, - * Route indicating value PX_PSAP_SERVICE_ROUTE - * ; - * from the PSAP entity - * } - * then { - * the IMS_E_CSCF_A entity sends a 183_SessionProgress containing - * From indicating value PX_PSAP_SIP_URI, - * To indicating value PX_UE_A_SIP_URI, - * CallId indicating value PX_PSAP_CALLID, - * Via indicating value PX_PSAP_VIA, - * Route indicating value PX_PSAP_SERVICE_ROUTE - * ; - * to the IMS_P_CSCF_A entity - * } - * } - */ - function f_mtc_check_TP_MI_BGCF_ECO_183SESSION_PROGRESS_01( + function f_mtc_check_TP_MI_ECSCF_ECO_183SESSION_PROGRESS_01( in SipInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false, in SipMessage p_sip @@ -258,7 +314,7 @@ module AtsImsIot_TP_behavior_MI { // Check the 183 SESSION_PROGRESS p_monitorCompRef.start( f_Iot_Sip_receive( - { mw_SipResponse(mw_TP_MI_BGCF_183SessionProgress_01( + { mw_SipResponse(mw_TP_MI_ECSCF_183SessionProgress_01( p_sip.request.msgHeader.cSeq, p_sip.request.msgHeader.fromField, p_sip.request.msgHeader.toField @@ -266,63 +322,24 @@ module AtsImsIot_TP_behavior_MI { }, { mw_SipResponse(mw_183SessionProgress_Base) }, { 0, omit }, - "TP_MI_BGCF_183SESSION_PROGRESS_01", + "TP_MI_ECSCF_ECO_183SESSION_PROGRESS_01", false, p_checkMessage ) ); p_monitorCompRef.done; } - } // End of function f_mtc_check_TP_MI_BGCF_ECO_183SESSION_PROGRESS_01 + } // End of function f_mtc_check_TP_MI_ECSCF_ECO_183SESSION_PROGRESS_01 } // End of group ims183SessionProgress group ims200Ok { - /** - * @desc Verify that the IMS_E_CSCF_A successfully processes a 200 (OK) provisional response on initial INVITE (Originating Leg). - * Initial conditions with { - * the UE_A entity isAttachedTo the EPC_A and - * the PSAP entity isAttachedTo the EPC_B and - * the UE_A entity isRegisteredTo the IMS_A and - * the PSAP entity isRegisteredTo the IMS_B - * } - * - * Expected behaviour - * ensure that { - * when { - * the IMS_E_CSCF_A entity receives a 200_Ok containing - * From indicating value PX_PSAP_SIP_URI, - * To indicating value PX_UE_A_SIP_URI, - * CallId indicating value PX_PSAP_CALLID, - * Via indicating value PX_PSAP_VIA, - * Route indicating value PX_PSAP_SERVICE_ROUTE, - * not PChargingVector, - * not PChargingFunctionAddresses, - * not PPreferredIdentity - * ; - * from the PSAP entity - * } - * then { - * the IMS_E_CSCF_A entity sends a 200_Ok containing - * From indicating value PX_PSAP_SIP_URI, - * To indicating value PX_UE_A_SIP_URI, - * CallId indicating value PX_PSAP_CALLID, - * Via indicating value PX_PSAP_VIA, - * Route indicating value PX_PSAP_SERVICE_ROUTE, - * PChargingVector, - * PChargingFunctionAddresses, - * PPreferredIdentity - * ; - * to the IMS_P_CSCF_A entity - * } - * } - */ - function f_mtc_check_TP_MI_BGCF_ECO_200OK_01( - in SipInterfaceMonitor p_monitorCompRef, - in boolean p_checkMessage := false, - in SipMessage p_sip - ) runs on ImsTestCoordinator { + function f_mtc_check_TP_MI_ECSCF_ECO_200OK_01( + in SipInterfaceMonitor p_monitorCompRef, + in boolean p_checkMessage := false, + in SipMessage p_sip + ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)) { var ImsUserInfo v_userInfoB := f_getSipUserId(PX_EUT_B); @@ -342,7 +359,7 @@ module AtsImsIot_TP_behavior_MI { }, { mw_SipResponse(mw_200OK_Base) }, { 0, omit }, - "TP_MI_BGCF_200OK_01", + "TP_MI_ECSCF_ECO_200OK_01", false, p_checkMessage ) @@ -350,121 +367,141 @@ module AtsImsIot_TP_behavior_MI { p_monitorCompRef.done; } - } // End of function f_mtc_check_TP_MI_BGCF_ECO_200OK_01 + } // End of function f_mtc_check_TP_MI_ECSCF_ECO_200OK_01 } // End of group ims200Ok group imsAck { + function f_mtc_check_TP_MI_ECSCF_ECO_ACK_01( + in SipInterfaceMonitor p_monitorCompRef, + in boolean p_checkMessage := false, + in SipMessage p_sip + ) runs on ImsTestCoordinator { + if (isvalue(p_monitorCompRef)) { + // Check the ACK + p_monitorCompRef.start( + f_Iot_Sip_receive( + { mw_SipRequest(mw_TP_MI_ECSCF_ACK_01( + p_sip.request.msgHeader.callId, + p_sip.request.msgHeader.cSeq, + -, // FIXME To be set + p_sip.request.msgHeader.fromField, + p_sip.request.msgHeader.toField + )) + }, + { mw_SipRequest(mw_ACK_Request_Base) }, + { 0, omit }, + "TP_MI_ECSCF_ECO_ACK_01 - Request", + false, + p_checkMessage + ) + ); + p_monitorCompRef.done; + } + } // End of function f_mtc_check_TP_MI_ECSCF_ECO_ACK_01 + + } // End of group imsAck + + group imsBye { + /** - * @desc Verify that the IMS_E_CSCF_A successfully processes a ACK provisional response on initial INVITE (Originating Leg). + * @desc Verify that the E-CSCF successfully processes a BYE from the P-CSCF for an Emergency Call and routes the request to the PSAP in the IM CN subsystem of own network * Initial conditions with { - * the UE_A entity isAttachedTo the EPC_A and - * the PSAP entity isAttachedTo the EPC_B and - * the UE_A entity isRegisteredTo the IMS_A and - * the PSAP entity isRegisteredTo the IMS_B + * the IMS_E_CSCF entity supportsRoutingTo the IM_CN and + * the UE_A entity previouslyEstablishedEmergencyCallWith the PSAP * } * * Expected behaviour * ensure that { * when { - * the IMS_E_CSCF_A entity receives an ACK containing + * the IMS_E_CSCF_A entity receives a BYE containing * From indicating value PX_UE_A_SIP_URI, - * To indicating value PX_PSAP_SIP_URI, + * To indicating value PX_SIP_EMERGENCY_SERVICE_URN, * CallId indicating value PX_UE_A_CALLID, * Via indicating value PX_UE_A_VIA, - * Route indicating value PX_UE_A_SERVICE_ROUTE - * ; + * Route indicating value PX_UE_A_SERVICE_ROUTE; * from the IMS_P_CSCF_A entity * } * then { - * the IMS_E_CSCF_A entity sends an ACK containing + * the IMS_E_CSCF_A entity sends a BYE containing * From indicating value PX_UE_A_SIP_URI, - * To indicating value PX_PSAP_SIP_URI, + * To indicating value PX_SIP_EMERGENCY_SERVICE_URN, * CallId indicating value PX_UE_A_CALLID, * Via indicating value PX_UE_A_VIA, - * Route indicating value PX_UE_A_SERVICE_ROUTE - * ; - * from the PSAP entity + * Route indicating value PX_UE_A_SERVICE_ROUTE; + * from the IM_CN entity * } * } */ - function f_mtc_check_TP_MI_BGCF_ECO_ACK_01( - in SipInterfaceMonitor p_monitorCompRef, - in boolean p_checkMessage := false, - in SipMessage p_sip - ) runs on ImsTestCoordinator { + function f_mtc_check_TP_MI_ECSCF_ECO_BYE_01( + in SipInterfaceMonitor p_monitorCompRef, + in boolean p_checkMessage := false, + inout SipMessage p_sip + ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)) { - // Check the ACK + // Check the BYE p_monitorCompRef.start( f_Iot_Sip_receive( - { mw_SipRequest(mw_TP_MI_BGCF_ACK_01( + { mw_SipRequest(mw_TP_MI_ECSCF_BYE_01( p_sip.request.msgHeader.callId, - p_sip.request.msgHeader.cSeq, + -, // New CSeq, -, // FIXME To be set p_sip.request.msgHeader.fromField, p_sip.request.msgHeader.toField )) }, - { mw_SipRequest(mw_ACK_Request_Base) }, + { mw_SipRequest(mw_BYE_Request_Base) }, { 0, omit }, - "TP_MI_BGCF_ACK_01 - Request", - false, + "TP_MI_ECSCF_ECO_BYE_01 - Request", + true, p_checkMessage ) ); p_monitorCompRef.done; + // Retrieve messge + f_getSipMsgFromMonitor(p_monitorCompRef, p_sip); } - } // End of function f_mtc_check_TP_MI_BGCF_ECO_ACK_01 - - } // End of group imsAck - - group imsBye { - + } // End of function f_mtc_check_TP_MI_ECSCF_ECO_BYE_01 + /** - * @desc Verify that the E-CSCF successfully processes a BYE (Terminating Leg). + * @desc Verify that the E-CSCF successfully processes a BYE from the PSAP in the IM CN subsystem for an Emergency Call and routes the request to the P-CSCF of home network * Initial conditions with { - * the UE_A entity isAttachedTo the EPC_A and - * the UE_B entity isAttachedTo the EPC_B and - * the UE_A entity isRegisteredTo the IMS_A and - * the UE_B entity isRegisteredTo the IMS_B and - * the UE_A entity previouslyEstablishedCallWith the UE_B + * the IMS_E_CSCF entity supportsRoutingTo the IM_CN and + * the UE_A entity previouslyEstablishedEmergencyCallWith the PSAP * } * * Expected behaviour * ensure that { * when { * the IMS_E_CSCF_A entity receives a BYE containing - * From indicating value PX_UE_B_SIP_URI, + * From indicating value PX_PSAP_SIP_URI, * To indicating value PX_UE_A_SIP_URI, - * CallId indicating value PX_UE_B_CALLID, - * Via indicating value PX_UE_B_VIA, - * Route indicating value PX_UE_B_SERVICE_ROUTE - * ; - * from the IMS_P_CSCF_A entity + * CallId indicating value PX_PSAP_CALLID, + * Via indicating value PX_PSAP_CALLID; + * from the IM_CN entity * } * then { * the IMS_E_CSCF_A entity sends a BYE containing - * From indicating value PX_UE_B_SIP_URI, - * To indicating value PX_UE_A_SIP_URI, - * CallId indicating value PX_UE_B_CALLID, - * Via indicating value PX_UE_B_VIA, - * Route indicating value PX_UE_B_SERVICE_ROUTE - * ; - * from the PSAP entity + * From indicating value PX_UE_A_SIP_URI, + * To indicating value PX_SIP_EMERGENCY_SERVICE_URN, + * CallId indicating value PX_UE_A_CALLID, + * Via indicating value PX_UE_A_VIA, + * Route indicating value PX_UE_A_SERVICE_ROUTE; + * from the IMS_P_CSCF_A entity * } * } */ - function f_mtc_check_TP_MI_BGCF_ECO_BYE_01( - in SipInterfaceMonitor p_monitorCompRef, - in boolean p_checkMessage := false, - inout SipMessage p_sip - ) runs on ImsTestCoordinator { + function f_mtc_check_TP_MI_ECSCF_ECO_BYE_02( + in SipInterfaceMonitor p_monitorCompRef, + in boolean p_checkMessage := false, + inout SipMessage p_sip + ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)) { // Check the BYE p_monitorCompRef.start( f_Iot_Sip_receive( - { mw_SipRequest(mw_TP_MI_BGCF_BYE_01( + { mw_SipRequest(mw_TP_MI_ECSCF_BYE_01( p_sip.request.msgHeader.callId, -, // New CSeq, -, // FIXME To be set @@ -482,7 +519,7 @@ module AtsImsIot_TP_behavior_MI { }, { mw_SipRequest(mw_BYE_Request_Base) }, { 0, omit }, - "TP_MI_BGCF_BYE_01 - Request", + "TP_MI_ECSCF_ECO_BYE_02 - Request", true, p_checkMessage ) @@ -491,54 +528,17 @@ module AtsImsIot_TP_behavior_MI { // Retrieve messge f_getSipMsgFromMonitor(p_monitorCompRef, p_sip); } - } // End of function f_mtc_check_TP_MI_BGCF_ECO_BYE_01 + } // End of function f_mtc_check_TP_MI_ECSCF_ECO_BYE_02 } // End of group imsBye group ims200OkBye { - /** - * @desc Verify that the E-CSCF successfully processes a 200 (OK) BYE (Originating Leg). - * Initial conditions with { - * the UE_A entity isAttachedTo the EPC_A and - * the UE_B entity isAttachedTo the EPC_B and - * the UE_A entity isRegisteredTo the IMS_A and - * the UE_B entity isRegisteredTo the IMS_B - * } - * - * Expected behaviour - * ensure that { - * when { - * the IMS_E_CSCF_A entity sends a 200_Ok containing - * From indicating value PX_UE_A_SIP_URI, - * To indicating value PX_UE_B_SIP_URI, - * CallId indicating value PX_UE_A_CALLID, - * Via indicating value PX_UE_A_VIA, - * Route indicating value PX_UE_A_SERVICE_ROUTE, - * not PChargingVector, - * not PChargingFunctionAddresses, - * not PPreferredIdentity - * to the PSAP entity - * } - * then { - * the IMS_E_CSCF_A entity sends a 200_Ok containing - * From indicating value PX_UE_A_SIP_URI, - * To indicating value PX_UE_B_SIP_URI, - * CallId indicating value PX_UE_A_CALLID, - * Via indicating value PX_UE_A_VIA, - * Route indicating value PX_UE_A_SERVICE_ROUTE, - * not PChargingVector, - * not PChargingFunctionAddresses, - * not PPreferredIdentity - * to the IMS_P_CSCF_A entity - * } - * } - */ - function f_mtc_check_TP_MI_BGCF_ECO_200OK_BYE_01( - in SipInterfaceMonitor p_monitorCompRef, - in boolean p_checkMessage := false, - in SipMessage p_sip - ) runs on ImsTestCoordinator { + function f_mtc_check_TP_MI_ECSCF_ECO_200OK_BYE_01( + in SipInterfaceMonitor p_monitorCompRef, + in boolean p_checkMessage := false, + in SipMessage p_sip + ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)) { // Check the 200 OK BYE p_monitorCompRef.start( @@ -552,20 +552,49 @@ module AtsImsIot_TP_behavior_MI { }, { mw_SipResponse(mw_200OK_Base) }, { 0, omit }, - "TP_MI_BGCF_200OK_BYE_01", + "TP_MI_ECSCF_ECO_200OK_BYE_01", false, p_checkMessage ) ); p_monitorCompRef.done; } - } // End of function f_mtc_check_TP_MI_BGCF_ECO_200OK_BYE_01 + } // End of function f_mtc_check_TP_MI_ECSCF_ECO_200OK_BYE_01 } // End of group ims200OkBye group imsCancel { - function f_mtc_check_TP_MI_BGCF_ECO_CANCEL_01( + /** + * @desc Verify that the E-CSCF successfully processes a CANCEL from the P-CSCF for an Emergency Call under establishment and routes the request to the BGCF for a PSAP in the PSTN + * Initial conditions with { + * the IMS_E_CSCF entity supportsRoutingTo the BGCF and + * the UE_A entity hasAchievedInitialEmergencyINVITE the PSAP via IMS_BGCF_A + * } + * + * Expected behaviour + * ensure that { + * when { + * the IMS_E_CSCF_A entity receives a CANCEL containing + * From indicating value PX_UE_A_SIP_URI, + * To indicating value PX_SIP_EMERGENCY_SERVICE_URN, + * CallId indicating value PX_UE_A_CALLID, + * Via indicating value PX_UE_A_VIA, + * Route indicating value PX_UE_A_SERVICE_ROUTE; + * from the IMS_P_CSCF_A entity + * } + * then { + * the IMS_E_CSCF_A entity sends a CANCEL containing + * From indicating value PX_UE_A_SIP_URI, + * To indicating value PX_SIP_EMERGENCY_SERVICE_URN, + * CallId indicating value PX_UE_A_CALLID, + * Via indicating value PX_UE_A_VIA, + * Route indicating value PX_UE_A_SERVICE_ROUTE; + * from the IMS_BGCF_A entity + * } + * } + */ + function f_mtc_check_TP_MI_ECSCF_EMC_CANCEL_01( in SipInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false, inout SipMessage p_sip @@ -574,25 +603,17 @@ module AtsImsIot_TP_behavior_MI { // Check the CANCEL p_monitorCompRef.start( f_Iot_Sip_receive( - { mw_SipRequest(mw_TP_MI_BGCF_CANCEL_01( + { mw_SipRequest(mw_TP_MI_ECSCF_CANCEL_01( p_sip.request.msgHeader.callId, -, // New CSeq, -, // FIXME To be set - { - fieldName := FROM_E, - addressField := p_sip.request.msgHeader.toField.addressField, - fromParams := * - }, //p_sip.request.msgHeader.fromField, - { - fieldName := TO_E, - addressField := p_sip.request.msgHeader.fromField.addressField, - toParams := * - } //p_sip.request.msgHeader.toField + p_sip.request.msgHeader.fromField, + p_sip.request.msgHeader.toField )) }, { mw_SipRequest(mw_CANCEL_Request_Base) }, { 0, omit }, - "TP_MI_BGCF_CANCEL_01 - Request", + "TP_MI_ECSCF_ECO_CANCEL_01 - Request", true, p_checkMessage ) @@ -601,13 +622,42 @@ module AtsImsIot_TP_behavior_MI { // Retrieve messge f_getSipMsgFromMonitor(p_monitorCompRef, p_sip); } - } // End of function f_mtc_check_TP_MI_BGCF_ECO_CANCEL_01 + } // End of function f_mtc_check_TP_MI_ECSCF_EMC_CANCEL_01 } // End of group imsCancel - group imsRequestTermination { + group imsTemporaryUnavailable { - function f_mtc_check_TP_MI_BGCF_ECO_487INVITE_01( + /** + * @desc Verify that the E-CSCF successfully processes a 480 response from the PSAP in the IM CN subsystem for an Emergency Call and routes the response to the P-CSCF of home network + * Initial conditions with { + * the IMS_E_CSCF entity supportsRoutingTo the IM_CN and + * the UE_A entity previouslyEstablishedEmergencyCallWith the PSAP + * } + * + * Expected behaviour + * ensure that { + * when { + * the IMS_E_CSCF_A entity receives a 480INVITE containing + * From indicating value PX_UE_A_SIP_URI, + * To indicating value PX_SIP_EMERGENCY_SERVICE_URN, + * CallId indicating value PX_UE_A_CALLID, + * Via indicating value PX_UE_A_VIA, + * Route indicating value PX_UE_A_SERVICE_ROUTE; + * from the IM_CN entity + * } + * then { + * the IMS_E_CSCF_A entity sends a 480INVITE containing + * From indicating value PX_UE_A_SIP_URI, + * To indicating value PX_SIP_EMERGENCY_SERVICE_URN, + * CallId indicating value PX_UE_A_CALLID, + * Via indicating value PX_UE_A_VIA, + * Route indicating value PX_UE_A_SERVICE_ROUTE; + * from the IMS_P_CSCF_A entity + * } + * } + */ + function f_mtc_check_TP_MI_ECSCF_ECO_480INVITE_01( in SipInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false, inout SipMessage p_sip @@ -617,21 +667,13 @@ module AtsImsIot_TP_behavior_MI { p_monitorCompRef.start( f_Iot_Sip_receive( { - mw_SipResponse( - mw_487RequestTerminated( // TODO Enforce template - p_sip.request.msgHeader.callId, - -, // New CSeq - p_sip.request.msgHeader.fromField, - p_sip.request.msgHeader.toField, - omit - ) - ) + mw_SipResponse(mw_480TemporaryUnavailable(-, p_sip.request.msgHeader.cSeq)) }, { mw_SipResponse(mdw_4XX_Base) }, { 0, omit }, - "TP_MI_BGCF_487INVITE_01", + "TP_MI_ECSCF_ECO_480INVITE_01", true, p_checkMessage ) @@ -640,13 +682,42 @@ module AtsImsIot_TP_behavior_MI { // Retrieve messge f_getSipMsgFromMonitor(p_monitorCompRef, p_sip); } - } // End of function f_mtc_check_TP_MI_BGCF_ECO_487INVITE_01 - - } // End of group imsRequestTermination + } // End of function f_mtc_check_TP_MI_ECSCF_ECO_480INVITE_01 - group imsTemporaryUnavailable { + } // End of group imsTemporaryUnavailable + + group imsRequestTermination { - function f_mtc_check_TP_MI_BGCF_ECO_480TEMPAV_01( + /** + * @desc Verify that the E-CSCF successfully processes a 487 response from the BGCF for a PSAP in the PSTN for an Emergency Call and routes the response to the P-CSCF + * Initial conditions with { + * the IMS_E_CSCF entity supportsRoutingTo the BGCF and + * the UE_A entity previouslyEstablishedEmergencyCallWith the PSAP via IMS_BGCF_A + * } + * + * Expected behaviour + * ensure that { + * when { + * the IMS_E_CSCF_A entity receives a 487INVITE containing + * From indicating value PX_UE_A_SIP_URI, + * To indicating value PX_SIP_EMERGENCY_SERVICE_URN, + * CallId indicating value PX_UE_A_CALLID, + * Via indicating value PX_UE_A_VIA, + * Route indicating value PX_UE_A_SERVICE_ROUTE; + * from the IMS_BGCF_A entity + * } + * then { + * the IMS_E_CSCF_A entity sends a 487INVITE containing + * From indicating value PX_UE_A_SIP_URI, + * To indicating value PX_SIP_EMERGENCY_SERVICE_URN, + * CallId indicating value PX_UE_A_CALLID, + * Via indicating value PX_UE_A_VIA, + * Route indicating value PX_UE_A_SERVICE_ROUTE; + * from the IMS_P_CSCF_A entity + * } + * } + */ + function f_mtc_check_TP_MI_ECSCF_EMC_487INVITE_01( in SipInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false, inout SipMessage p_sip @@ -656,13 +727,21 @@ module AtsImsIot_TP_behavior_MI { p_monitorCompRef.start( f_Iot_Sip_receive( { - mw_SipResponse(mw_480TemporaryUnavailable(-, p_sip.request.msgHeader.cSeq)) + mw_SipResponse( + mw_487RequestTerminated( // TODO Enforce template + p_sip.request.msgHeader.callId, + -, // New CSeq + p_sip.request.msgHeader.fromField, + p_sip.request.msgHeader.toField, + omit + ) + ) }, { mw_SipResponse(mdw_4XX_Base) }, { 0, omit }, - "TP_MI_BGCF_480TEMPAV_01", + "TP_MI_ECSCF_EMC_487INVITE_01", true, p_checkMessage ) @@ -671,8 +750,8 @@ module AtsImsIot_TP_behavior_MI { // Retrieve messge f_getSipMsgFromMonitor(p_monitorCompRef, p_sip); } - } // End of function f_mtc_check_TP_MI_BGCF_ECO_480TEMPAV_01 + } // End of function f_mtc_check_TP_MI_ECSCF_EMC_487INVITE_01 - } // End of group imsTemporaryUnavailable + } // End of group imsRequestTermination } // End of module AtsImsIot_TP_behavior_MI \ No newline at end of file diff --git a/ttcn/AtsImsIot/AtsImsIot_TP_behavior_ML.ttcn b/ttcn/AtsImsIot/AtsImsIot_TP_behavior_ML.ttcn index 911d621..2cc6b3a 100644 --- a/ttcn/AtsImsIot/AtsImsIot_TP_behavior_ML.ttcn +++ b/ttcn/AtsImsIot/AtsImsIot_TP_behavior_ML.ttcn @@ -108,44 +108,6 @@ module AtsImsIot_TP_behavior_ML { } } // End of function f_mtc_check_TP_ML_ECSCF_ECO_INVITE_01 - function f_mtc_check_TP_ML_ECSCF_ECO_INVITE_02( - in SipInterfaceMonitor p_monitorCompRef, - in boolean p_checkMessage := false, - out SipMessage p_sip - ) runs on ImsTestCoordinator { - if (isvalue(p_monitorCompRef)) { - var ImsUserInfo v_userInfoA := f_getTelUserId(PX_EUT_A_EMERGENCY); - var ImsUserInfo v_psapInfo := f_getSipUserId(PX_PSAP); - - // Check the INVITE - p_monitorCompRef.start( - f_Iot_Sip_receive( - { mw_SipRequest(mw_TP_ML_ECSCF_INVITE_01( - -, // FIXME Set expected value - ( - mw_From_NameAddr_SipUrl({quotedString:=v_psapInfo.publicId}, v_psapInfo.publicId, v_psapInfo.domain), - mw_From_AddrUnion_TelUrl(v_psapInfo.publicId) - ), - ( - mw_To_NameAddr_SipUrl({quotedString:=v_userInfoA.publicId}, v_userInfoA.publicId/*, v_userInfoA.domain*/), - mw_To_AddrUnion_TelUrl(-)//v_userInfoA.publicId - ) - )) - }, - { mw_SipRequest(mw_INVITE_Request_Base) }, - {0, omit}, - "TP_ML_ECSCF_ECO_INVITE_01 - Request", - true, - p_checkMessage - ) - ); - p_monitorCompRef.done; - // Retrieve messge - f_getSipMsgFromMonitor(p_monitorCompRef, p_sip); - log("##### p_sip: ", p_sip); - } - } // End of function f_mtc_check_TP_ML_ECSCF_ECO_INVITE_02 - } // End of group imsInvite group ims3xxx { diff --git a/ttcn/AtsImsIot/AtsImsIot_TP_behavior_MM.ttcn b/ttcn/AtsImsIot/AtsImsIot_TP_behavior_MM.ttcn index b029915..34c018c 100644 --- a/ttcn/AtsImsIot/AtsImsIot_TP_behavior_MM.ttcn +++ b/ttcn/AtsImsIot/AtsImsIot_TP_behavior_MM.ttcn @@ -33,40 +33,40 @@ module AtsImsIot_TP_behavior_MM { /** * @desc "Verify that the E-CSCF successfully processes an initial INVITE from the P-CSCF and routes the request to the PSAP in the IM CN subsystem of own network." - * Reference - * "ETSI TS 124 229 [1], Clauses 5.11.2" - * Config Id CF_VxLTE_INT - * PICS Selection NONE - * Initial conditions with { - * the IMS_E_CSCF entity supportsRoutingTo the IM_CN - * } - * Expected behaviour - * ensure that { - * when { - * the IMS_E_CSCF entity receives an INVITE containing - * From indicating value PX_UE_A_SIP_URI, - * To indicating value PX_SIP_EMERGENCY_SERVICE_URN, - * CallId indicating value PX_UE_A_CALLID, - * Via indicating value PX_P_CSCF_A_VIA, - * Route indicating value PX_E_CSCF_SERVICE_ROUTE, // 5.2.10.3 1B) option is assumed - * PAssertedIdentity, - * MessageBody; - * from the IMS_P_CSCF_A entity - * } - * then { - * the IMS_E_CSCF entity sends an INVITE containing - * From indicating value PX_UE_A_SIP_URI, - * To indicating value PX_SIP_EMERGENCY_SERVICE_URN, - * CallId indicating value PX_UE_A_CALLID, - * Via indicating value PX_E_CSCF_VIA, - * Route indicating value PX_PSAP_SERVICE_ROUTE_IM_CN, - * RecordRoute PX_E_CSCF_SERVICE_ROUTE, - * PChargingVector, - * MessageBody; - * to the IM_CN entity - * } - * } - */ + * Reference + * "ETSI TS 124 229 [1], Clauses 5.11.2" + * Config Id CF_VxLTE_INT + * PICS Selection NONE + * Initial conditions with { + * the IMS_E_CSCF entity supportsRoutingTo the IM_CN + * } + * Expected behaviour + * ensure that { + * when { + * the IMS_E_CSCF entity receives an INVITE containing + * From indicating value PX_UE_A_SIP_URI, + * To indicating value PX_SIP_EMERGENCY_SERVICE_URN, + * CallId indicating value PX_UE_A_CALLID, + * Via indicating value PX_P_CSCF_A_VIA, + * Route indicating value PX_E_CSCF_SERVICE_ROUTE, // 5.2.10.3 1B) option is assumed + * PAssertedIdentity, + * MessageBody; + * from the IMS_P_CSCF_A entity + * } + * then { + * the IMS_E_CSCF entity sends an INVITE containing + * From indicating value PX_UE_A_SIP_URI, + * To indicating value PX_SIP_EMERGENCY_SERVICE_URN, + * CallId indicating value PX_UE_A_CALLID, + * Via indicating value PX_E_CSCF_VIA, + * Route indicating value PX_PSAP_SERVICE_ROUTE_IM_CN, + * RecordRoute PX_E_CSCF_SERVICE_ROUTE, + * PChargingVector, + * MessageBody; + * to the IM_CN entity + * } + * } + */ function f_mtc_check_TP_MM_ECSCF_ECO_INVITE_01( in SipInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false, @@ -87,7 +87,7 @@ module AtsImsIot_TP_behavior_MM { }, { mw_SipRequest(mw_INVITE_Request_Base) }, {0, omit}, - "TP_MM_ECSCF_INVITE_01 - Request", + "TP_MM_ECSCF_ECO_INVITE_01 - Request", true, p_checkMessage ) @@ -99,6 +99,39 @@ module AtsImsIot_TP_behavior_MM { } } // End of function f_mtc_check_TP_MM_ECSCF_ECO_INVITE_01 + /** + * @desc "Verify that the E-CSCF successfully processes an initial INVITE from the P-CSCF and routes the request to the PSAP in the IM CN subsystem of own network and includes the LRF provided URI in the Route header." + * Reference + * "ETSI TS 124 229 [1], Clauses 5.11.2" + * Config Id CF_VxLTE_INT + * PICS Selection NONE + * Initial conditions with { + * the IMS_E_CSCF entity supportsRoutingTo the IMS_LRF and + * the IMS_E_CSCF entity hasSentINVITETo the IMS_LRF and + * the IMS_E_CSCF entity supportsRoutingTo the IM_CN + * } + * Expected behaviour + * ensure that { + * when { + * the IMS_E_CSCF entity receives an r_3xx_Any containing + * Contact indicating value LRF_provided_SIP_URI; + * from the IMS_LRF entity + * } + * then { + * the IMS_E_CSCF entity sends an INVITE containing + * From indicating value PX_UE_A_SIP_URI, + * To indicating value PX_SIP_EMERGENCY_SERVICE_URN, + * CallId indicating value PX_UE_A_CALLID, + * Via indicating value PX_E_CSCF_VIA, + * Route indicating value PX_PSAP_SERVICE_ROUTE_IM_CN, + * RecordRoute PX_E_CSCF_SERVICE_ROUTE, + * not PChargingFunctionAddresses, + * PChargingVector, + * MessageBody; + * to the IM_CN entity + * } + * } + */ function f_mtc_check_TP_MM_ECSCF_ECO_INVITE_02( in SipInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false, @@ -111,7 +144,7 @@ module AtsImsIot_TP_behavior_MM { // Check the INVITE p_monitorCompRef.start( f_Iot_Sip_receive( - { mw_SipRequest(mw_TP_MM_ECSCF_INVITE_01( + { mw_SipRequest(mw_TP_MM_ECSCF_INVITE_02( -, // FIXME Set expected value mw_From_AddrUnion_TelUrl(-), // v_userInfoA.publicId mw_To_AddrUnion_TelUrl(-) // v_psapInfo.publicId @@ -119,7 +152,7 @@ module AtsImsIot_TP_behavior_MM { }, { mw_SipRequest(mw_INVITE_Request_Base) }, {0, omit}, - "TP_MM_ECSCF_INVITE_01 - Request", + "TP_MM_ECSCF_ECO_INVITE_02 - Request", true, p_checkMessage ) @@ -131,31 +164,79 @@ module AtsImsIot_TP_behavior_MM { } } // End of function f_mtc_check_TP_MM_ECSCF_ECO_INVITE_02 - } // End of group imsInvite - - group ims100Trying { - /** - * @desc Verify that the E-CSCF successfully processes a 100 (Trying) provisional response on initial INVITE (Originating Leg). + * @desc "Verify that the E-CSCF successfully processes an callback INVITE from PSAP over the IM CN subsystem of own network and routes the request to the P-CSCF." + * Reference + * "ETSI TS 124 229 [1], Clauses 5.11.2" + * Config Id CF_VxLTE_INT + * PICS Selection NONE * Initial conditions with { - * the UE_A entity isAttachedTo the EPC_A and - * the PSAP entity isAttachedTo the EPC_B and - * the UE_A entity isRegisteredTo the IMS_A and - * the PSAP entity isRegisteredTo the IMS_B + * the IMS_E_CSCF entity supportsRoutingTo the IM_CN * } - * * Expected behaviour - * ensure that { - * when { - * the IMS_E_CSCF_A entity receives a 100_Trying - * from the PSAP entity - * } - * then { - * the IMS_E_CSCF_A entity sends a 100_Trying - * to the IMS_P_CSCF_A entity + * ensure that { + * when { + * the IMS_E_CSCF entity receives an INVITE containing + * From indicating value PX_UE_A_SIP_URI, + * To indicating value PX_SIP_EMERGENCY_SERVICE_URN, + * CallId indicating value PX_UE_A_CALLID, + * Via indicating value PX_P_CSCF_A_VIA, + * Route indicating value PX_E_CSCF_SERVICE_ROUTE, // 5.2.10.3 1B) option is assumed + * PAssertedIdentity, + * MessageBody; + * from the IM_CN entity + * } + * then { + * the IMS_E_CSCF entity sends an INVITE containing + * From indicating value PX_UE_A_SIP_URI, + * To indicating value PX_SIP_EMERGENCY_SERVICE_URN, + * CallId indicating value PX_UE_A_CALLID, + * Via indicating value PX_E_CSCF_VIA, + * Route indicating value PX_PSAP_SERVICE_ROUTE_IM_CN, + * RecordRoute PX_E_CSCF_SERVICE_ROUTE, + * not PChargingFunctionAddresses, + * PChargingVector, + * MessageBody; + * to the IMS_P_CSCF_A entity * } * } - */ + */ + function f_mtc_check_TP_MM_ECSCF_ECO_INVITE_03( + in SipInterfaceMonitor p_monitorCompRef, + in boolean p_checkMessage := false, + out SipMessage p_sip + ) runs on ImsTestCoordinator { + if (isvalue(p_monitorCompRef)) { + var ImsUserInfo v_userInfoA := f_getTelUserId(PX_EUT_A_EMERGENCY); + var ImsUserInfo v_psapInfo := f_getSipUserId(PX_PSAP); + + // Check the INVITE + p_monitorCompRef.start( + f_Iot_Sip_receive( + { mw_SipRequest(mw_TP_MM_ECSCF_INVITE_03( + -, // FIXME Set expected value + mw_From_AddrUnion_TelUrl(-), // v_userInfoA.publicId + mw_To_AddrUnion_TelUrl(-) // v_psapInfo.publicId + )) + }, + { mw_SipRequest(mw_INVITE_Request_Base) }, + {0, omit}, + "TP_MM_ECSCF_ECO_INVITE_03 - Request", + true, + p_checkMessage + ) + ); + p_monitorCompRef.done; + // Retrieve messge + f_getSipMsgFromMonitor(p_monitorCompRef, p_sip); + log("##### p_sip: ", p_sip); + } + } // End of function f_mtc_check_TP_MM_ECSCF_ECO_INVITE_03 + + } // End of group imsInvite + + group ims100Trying { + function f_mtc_check_TP_MM_ECSCF_ECO_100Trying_01( in SipInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false, @@ -186,39 +267,6 @@ module AtsImsIot_TP_behavior_MM { group ims180Ringing { - /** - * @desc Verify that the IMS_E_CSCF_A successfully processes a 180 (Ringing) provisional response on initial INVITE (Originating Leg). - * Initial conditions with { - * the UE_A entity isAttachedTo the EPC_A and - * the PSAP entity isAttachedTo the EPC_B and - * the UE_A entity isRegisteredTo the IMS_A and - * the PSAP entity isRegisteredTo the IMS_B - * } - * - * Expected behaviour - * ensure that { - * when { - * the IMS_E_CSCF_A entity receives a 180_Ringing containing - * From indicating value PX_PSAP_SIP_URI, - * To indicating value PX_UE_A_SIP_URI, - * CallId indicating value PX_PSAP_CALLID, - * Via indicating value PX_PSAP_VIA, - * Route indicating value PX_PSAP_SERVICE_ROUTE - * ; - * from the PSAP entity - * } - * then { - * the IMS_E_CSCF_A entity sends a 180_Ringing containing - * From indicating value PX_PSAP_SIP_URI, - * To indicating value PX_UE_A_SIP_URI, - * CallId indicating value PX_PSAP_CALLID, - * Via indicating value PX_PSAP_VIA, - * Route indicating value PX_PSAP_SERVICE_ROUTE - * ; - * to the IMS_P_CSCF_A entity - * } - * } - */ function f_mtc_check_TP_MM_ECSCF_ECO_180RINGING_01( in SipInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false, @@ -251,39 +299,6 @@ module AtsImsIot_TP_behavior_MM { group ims183SessionProgress { - /** - * @desc Verify that the IMS_E_CSCF_A successfully processes a 183 (Ringing) provisional response on initial INVITE (Originating Leg). - * Initial conditions with { - * the UE_A entity isAttachedTo the EPC_A and - * the PSAP entity isAttachedTo the EPC_B and - * the UE_A entity isRegisteredTo the IMS_A and - * the PSAP entity isRegisteredTo the IMS_B - * } - * - * Expected behaviour - * ensure that { - * when { - * the IMS_E_CSCF_A entity receives a 183_SessionProgress containing - * From indicating value PX_SAP_URI, - * To indicating value PX_UE_A_SIP_URI, - * CallId indicating value PX_SAP_CALLID, - * Via indicating value PX_PSAP_VIA, - * Route indicating value PX_PSAP_SERVICE_ROUTE - * ; - * from the PSAP entity - * } - * then { - * the IMS_E_CSCF_A entity sends a 183_SessionProgress containing - * From indicating value PX_PSAP_SIP_URI, - * To indicating value PX_UE_A_SIP_URI, - * CallId indicating value PX_PSAP_CALLID, - * Via indicating value PX_PSAP_VIA, - * Route indicating value PX_PSAP_SERVICE_ROUTE - * ; - * to the IMS_P_CSCF_A entity - * } - * } - */ function f_mtc_check_TP_MM_ECSCF_ECO_183SESSION_PROGRESS_01( in SipInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false, @@ -314,45 +329,6 @@ module AtsImsIot_TP_behavior_MM { group ims200Ok { - /** - * @desc Verify that the IMS_E_CSCF_A successfully processes a 200 (OK) provisional response on initial INVITE (Originating Leg). - * Initial conditions with { - * the UE_A entity isAttachedTo the EPC_A and - * the PSAP entity isAttachedTo the EPC_B and - * the UE_A entity isRegisteredTo the IMS_A and - * the PSAP entity isRegisteredTo the IMS_B - * } - * - * Expected behaviour - * ensure that { - * when { - * the IMS_E_CSCF_A entity receives a 200_Ok containing - * From indicating value PX_PSAP_SIP_URI, - * To indicating value PX_UE_A_SIP_URI, - * CallId indicating value PX_PSAP_CALLID, - * Via indicating value PX_PSAP_VIA, - * Route indicating value PX_PSAP_SERVICE_ROUTE, - * not PChargingVector, - * not PChargingFunctionAddresses, - * not PPreferredIdentity - * ; - * from the PSAP entity - * } - * then { - * the IMS_E_CSCF_A entity sends a 200_Ok containing - * From indicating value PX_PSAP_SIP_URI, - * To indicating value PX_UE_A_SIP_URI, - * CallId indicating value PX_PSAP_CALLID, - * Via indicating value PX_PSAP_VIA, - * Route indicating value PX_PSAP_SERVICE_ROUTE, - * PChargingVector, - * PChargingFunctionAddresses, - * PPreferredIdentity - * ; - * to the IMS_P_CSCF_A entity - * } - * } - */ function f_mtc_check_TP_MM_ECSCF_ECO_200OK_01( in SipInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false, @@ -391,39 +367,6 @@ module AtsImsIot_TP_behavior_MM { group imsAck { - /** - * @desc Verify that the IMS_E_CSCF_A successfully processes a ACK provisional response on initial INVITE (Originating Leg). - * Initial conditions with { - * the UE_A entity isAttachedTo the EPC_A and - * the PSAP entity isAttachedTo the EPC_B and - * the UE_A entity isRegisteredTo the IMS_A and - * the PSAP entity isRegisteredTo the IMS_B - * } - * - * Expected behaviour - * ensure that { - * when { - * the IMS_E_CSCF_A entity receives an ACK containing - * From indicating value PX_UE_A_SIP_URI, - * To indicating value PX_PSAP_SIP_URI, - * CallId indicating value PX_UE_A_CALLID, - * Via indicating value PX_UE_A_VIA, - * Route indicating value PX_UE_A_SERVICE_ROUTE - * ; - * from the IMS_P_CSCF_A entity - * } - * then { - * the IMS_E_CSCF_A entity sends an ACK containing - * From indicating value PX_UE_A_SIP_URI, - * To indicating value PX_PSAP_SIP_URI, - * CallId indicating value PX_UE_A_CALLID, - * Via indicating value PX_UE_A_VIA, - * Route indicating value PX_UE_A_SERVICE_ROUTE - * ; - * from the PSAP entity - * } - * } - */ function f_mtc_check_TP_MM_ECSCF_ECO_ACK_01( in SipInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false, @@ -457,36 +400,32 @@ module AtsImsIot_TP_behavior_MM { group imsBye { /** - * @desc Verify that the E-CSCF successfully processes a BYE (Terminating Leg). + * @desc Verify that the E-CSCF successfully processes a BYE from the P-CSCF for an Emergency Call and routes the request to the PSAP in the IM CN subsystem of own network * Initial conditions with { - * the UE_A entity isAttachedTo the EPC_A and - * the UE_B entity isAttachedTo the EPC_B and - * the UE_A entity isRegisteredTo the IMS_A and - * the UE_B entity isRegisteredTo the IMS_B and - * the UE_A entity previouslyEstablishedCallWith the UE_B + * the IMS_E_CSCF entity supportsRoutingTo the IM_CN and + * the UE_A entity previouslyEstablishedEmergencyCallWith the PSAP * } * * Expected behaviour * ensure that { * when { * the IMS_E_CSCF_A entity receives a BYE containing - * From indicating value PX_UE_B_SIP_URI, - * To indicating value PX_UE_A_SIP_URI, - * CallId indicating value PX_UE_B_CALLID, - * Via indicating value PX_UE_B_VIA, - * Route indicating value PX_UE_B_SERVICE_ROUTE + * From indicating value PX_UE_A_SIP_URI, + * To indicating value PX_SIP_EMERGENCY_SERVICE_URN, + * CallId indicating value PX_UE_A_CALLID, + * Via indicating value PX_UE_A_VIA, + * Route indicating value PX_UE_A_SERVICE_ROUTE * ; * from the IMS_P_CSCF_A entity * } * then { * the IMS_E_CSCF_A entity sends a BYE containing - * From indicating value PX_UE_B_SIP_URI, - * To indicating value PX_UE_A_SIP_URI, - * CallId indicating value PX_UE_B_CALLID, - * Via indicating value PX_UE_B_VIA, - * Route indicating value PX_UE_B_SERVICE_ROUTE - * ; - * from the PSAP entity + * From indicating value PX_UE_A_SIP_URI, + * To indicating value PX_SIP_EMERGENCY_SERVICE_URN, + * CallId indicating value PX_UE_A_CALLID, + * Via indicating value PX_UE_A_VIA, + * Route indicating value PX_UE_A_SERVICE_ROUTE; + * to the IM_CN entity * } * } */ @@ -503,16 +442,8 @@ module AtsImsIot_TP_behavior_MM { p_sip.request.msgHeader.callId, -, // New CSeq, -, // FIXME To be set - { - fieldName := FROM_E, - addressField := p_sip.request.msgHeader.toField.addressField, - fromParams := * - }, //p_sip.request.msgHeader.fromField, - { - fieldName := TO_E, - addressField := p_sip.request.msgHeader.fromField.addressField, - toParams := * - } //p_sip.request.msgHeader.toField + p_sip.request.msgHeader.fromField, + p_sip.request.msgHeader.toField )) }, { mw_SipRequest(mw_BYE_Request_Base) }, @@ -528,6 +459,33 @@ module AtsImsIot_TP_behavior_MM { } } // End of function f_mtc_check_TP_MM_ECSCF_ECO_BYE_01 + /** + * @desc Verify that the E-CSCF successfully processes a BYE from the PSAP in the IM CN subsystem for an Emergency Call and routes the request to the P-CSCF of home network + * Initial conditions with { + * the IMS_E_CSCF entity supportsRoutingTo the IM_CN and + * the UE_A entity previouslyEstablishedEmergencyCallWith the PSAP + * } + * + * Expected behaviour + * ensure that { + * when { + * the IMS_E_CSCF_A entity receives a BYE containing + * From indicating value PX_PSAP_SIP_URI, + * To indicating value PX_UE_A_SIP_URI, + * CallId indicating value PX_PSAP_SIP_URI, + * Via indicating value PX_PSAP_VIA; + * from the IM_CN entity + * } + * then { + * the IMS_E_CSCF_A entity sends a BYE containing + * From indicating value PX_PSAP_SIP_URI, + * To indicating value PX_UE_A_SIP_URI, + * CallId indicating value PX_PSAP_SIP_URI, + * Via indicating value PX_PSAP_VIA; + * to the IMS_P_CSCF_A entity + * } + * } + */ function f_mtc_check_TP_MM_ECSCF_ECO_BYE_02( in SipInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false, @@ -537,7 +495,7 @@ module AtsImsIot_TP_behavior_MM { // Check the BYE p_monitorCompRef.start( f_Iot_Sip_receive( - { mw_SipRequest(mw_TP_MM_ECSCF_BYE_01( + { mw_SipRequest(mw_TP_MM_ECSCF_BYE_02( p_sip.request.msgHeader.callId, -, // New CSeq, -, // FIXME To be set @@ -570,58 +528,21 @@ module AtsImsIot_TP_behavior_MM { group ims200OkBye { - /** - * @desc Verify that the E-CSCF successfully processes a 200 (OK) BYE (Originating Leg). - * Initial conditions with { - * the UE_A entity isAttachedTo the EPC_A and - * the UE_B entity isAttachedTo the EPC_B and - * the UE_A entity isRegisteredTo the IMS_A and - * the UE_B entity isRegisteredTo the IMS_B - * } - * - * Expected behaviour - * ensure that { - * when { - * the IMS_E_CSCF_A entity sends a 200_Ok containing - * From indicating value PX_UE_A_SIP_URI, - * To indicating value PX_UE_B_SIP_URI, - * CallId indicating value PX_UE_A_CALLID, - * Via indicating value PX_UE_A_VIA, - * Route indicating value PX_UE_A_SERVICE_ROUTE, - * not PChargingVector, - * not PChargingFunctionAddresses, - * not PPreferredIdentity - * to the PSAP entity - * } - * then { - * the IMS_E_CSCF_A entity sends a 200_Ok containing - * From indicating value PX_UE_A_SIP_URI, - * To indicating value PX_UE_B_SIP_URI, - * CallId indicating value PX_UE_A_CALLID, - * Via indicating value PX_UE_A_VIA, - * Route indicating value PX_UE_A_SERVICE_ROUTE, - * not PChargingVector, - * not PChargingFunctionAddresses, - * not PPreferredIdentity - * to the IMS_P_CSCF_A entity - * } - * } - */ function f_mtc_check_TP_MM_ECSCF_ECO_200OK_BYE_01( - in SipInterfaceMonitor p_monitorCompRef, - in boolean p_checkMessage := false, - in SipMessage p_sip - ) runs on ImsTestCoordinator { + in SipInterfaceMonitor p_monitorCompRef, + in boolean p_checkMessage := false, + in SipMessage p_sip + ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)) { // Check the 200 OK BYE p_monitorCompRef.start( f_Iot_Sip_receive( - { mw_SipResponse(mw_200OK( - p_sip.request.msgHeader.cSeq, - p_sip.request.msgHeader.callId, - p_sip.request.msgHeader.fromField, - p_sip.request.msgHeader.toField - )) + { mw_SipResponse(mw_ECO_200OK( + p_sip.request.msgHeader.cSeq, + p_sip.request.msgHeader.callId, + p_sip.request.msgHeader.fromField, + p_sip.request.msgHeader.toField + )) }, { mw_SipResponse(mw_200OK_Base) }, { 0, omit }, @@ -638,6 +559,35 @@ module AtsImsIot_TP_behavior_MM { group imsCancel { + /** + * @desc Verify that the E-CSCF successfully processes a CANCEL from the P-CSCF for an Emergency Call under establishment and routes the request to the PSAP in the IM CN subsystem of own network + * Initial conditions with { + * the IMS_E_CSCF entity supportsRoutingTo the IM_CN and + * the UE_A entity hasAchievedInitialEmergencyINVITE + * } + * + * Expected behaviour + * ensure that { + * when { + * the IMS_E_CSCF_A entity receives a CANCEL containing + * From indicating value PX_UE_A_SIP_URI, + * To indicating value PX_SIP_EMERGENCY_SERVICE_URN, + * CallId indicating value PX_UE_A_CALLID, + * Via indicating value PX_UE_A_VIA, + * Route indicating value PX_UE_A_SERVICE_ROUTE; + * from the IMS_P_CSCF_A entity + * } + * then { + * the IMS_E_CSCF_A entity sends a CANCEL containing + * From indicating value PX_UE_A_SIP_URI, + * To indicating value PX_SIP_EMERGENCY_SERVICE_URN, + * CallId indicating value PX_UE_A_CALLID, + * Via indicating value PX_UE_A_VIA, + * Route indicating value PX_UE_A_SERVICE_ROUTE; + * to the IM_CN entity + * } + * } + */ function f_mtc_check_TP_MM_ECSCF_ECO_CANCEL_01( in SipInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false, @@ -680,7 +630,36 @@ module AtsImsIot_TP_behavior_MM { group imsRequestTermination { - function f_mtc_check_TP_MM_ECSCF_ECO_487INVITE_01( + /** + * @desc Verify that the E-CSCF successfully processes a 487 response from the PSAP in the IM CN subsystem for an Emergency Call and routes the response to the P-CSCF of home network + * Initial conditions with { + * the IMS_E_CSCF entity supportsRoutingTo the IM_CN and + * the UE_A entity previouslyEstablishedEmergencyCallWith the PSAP + * } + * + * Expected behaviour + * ensure that { + * when { + * the IMS_E_CSCF_A entity receives a 487INVITE containing + * From indicating value PX_UE_A_SIP_URI, + * To indicating value PX_SIP_EMERGENCY_SERVICE_URN, + * CallId indicating value PX_UE_A_CALLID, + * Via indicating value PX_UE_A_VIA, + * Route indicating value PX_UE_A_SERVICE_ROUTE; + * from the IM_CN entity + * } + * then { + * the IMS_E_CSCF_A entity sends a 480INVITE containing + * From indicating value PX_UE_A_SIP_URI, + * To indicating value PX_SIP_EMERGENCY_SERVICE_URN, + * CallId indicating value PX_UE_A_CALLID, + * Via indicating value PX_UE_A_VIA, + * Route indicating value PX_UE_A_SERVICE_ROUTE; + * to the IMS_P_CSCF_A entity + * } + * } + */ + function f_mtc_check_TP_MM_ECSCF_EMC_487INVITE_01( in SipInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false, inout SipMessage p_sip @@ -704,7 +683,7 @@ module AtsImsIot_TP_behavior_MM { mw_SipResponse(mdw_4XX_Base) }, { 0, omit }, - "TP_MM_ECSCF_487INVITE_01", + "TP_MM_ECSCF_EMC_487INVITE_01", true, p_checkMessage ) @@ -713,13 +692,42 @@ module AtsImsIot_TP_behavior_MM { // Retrieve messge f_getSipMsgFromMonitor(p_monitorCompRef, p_sip); } - } // End of function f_mtc_check_TP_MM_ECSCF_ECO_487INVITE_01 + } // End of function f_mtc_check_TP_MM_ECSCF_EMC_487INVITE_01 } // End of group imsRequestTermination group imsTemporaryUnavailable { - function f_mtc_check_TP_MM_ECSCF_ECO_480TEMPAV_01( + /** + * @desc Verify that the E-CSCF successfully processes a 480 response from the PSAP in the IM CN subsystem for an Emergency Call and routes the response to the P-CSCF of home network + * Initial conditions with { + * the IMS_E_CSCF entity supportsRoutingTo the IM_CN and + * the UE_A entity previouslyEstablishedEmergencyCallWith the PSAP + * } + * + * Expected behaviour + * ensure that { + * when { + * the IMS_E_CSCF_A entity receives a 480INVITE containing + * From indicating value PX_UE_A_SIP_URI, + * To indicating value PX_SIP_EMERGENCY_SERVICE_URN, + * CallId indicating value PX_UE_A_CALLID, + * Via indicating value PX_UE_A_VIA, + * Route indicating value PX_UE_A_SERVICE_ROUTE; + * from the IM_CN entity + * } + * then { + * the IMS_E_CSCF_A entity sends a 480INVITE containing + * From indicating value PX_UE_A_SIP_URI, + * To indicating value PX_SIP_EMERGENCY_SERVICE_URN, + * CallId indicating value PX_UE_A_CALLID, + * Via indicating value PX_UE_A_VIA, + * Route indicating value PX_UE_A_SERVICE_ROUTE; + * to the IMS_P_CSCF_A entity + * } + * } + */ + function f_mtc_check_TP_MM_ECSCF_ECO_480INVITE_01( in SipInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false, inout SipMessage p_sip @@ -735,7 +743,7 @@ module AtsImsIot_TP_behavior_MM { mw_SipResponse(mdw_4XX_Base) }, { 0, omit }, - "TP_MM_ECSCF_480TEMPAV_01", + "TP_MM_ECSCF_ECO_480INVITE_01", true, p_checkMessage ) @@ -744,7 +752,7 @@ module AtsImsIot_TP_behavior_MM { // Retrieve messge f_getSipMsgFromMonitor(p_monitorCompRef, p_sip); } - } // End of function f_mtc_check_TP_MM_ECSCF_ECO_480TEMPAV_01 + } // End of function f_mtc_check_TP_MM_ECSCF_ECO_480INVITE_01 } // End of group imsTemporaryUnavailable diff --git a/ttcn/AtsImsIot/AtsImsIot_TP_behavior_MW_PS.ttcn b/ttcn/AtsImsIot/AtsImsIot_TP_behavior_MW_PS.ttcn index 8416a9a..de07262 100644 --- a/ttcn/AtsImsIot/AtsImsIot_TP_behavior_MW_PS.ttcn +++ b/ttcn/AtsImsIot/AtsImsIot_TP_behavior_MW_PS.ttcn @@ -4825,12 +4825,12 @@ module AtsImsIot_TP_behavior_MW_PS { f_Iot_Sip_receive( { mw_SipResponse( - mw_487RequestTerminated( // TODO Enforce template - p_sip.request.msgHeader.callId, - -, // New CSeq - p_sip.request.msgHeader.fromField, - p_sip.request.msgHeader.toField - ) + mw_487RequestTerminated( // TODO Enforce template + p_sip.request.msgHeader.callId, + -, // New CSeq + p_sip.request.msgHeader.fromField, + p_sip.request.msgHeader.toField + ) ) }, { @@ -4852,7 +4852,7 @@ module AtsImsIot_TP_behavior_MW_PS { group imsTemporaryUnavailable { - function f_mtc_check_TP_MW_PCSCF_ECO_480TEMPAV_01( + function f_mtc_check_TP_MW_PCSCF_ECO_480INVITE_01( in SipInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false, inout SipMessage p_sip @@ -4868,7 +4868,7 @@ module AtsImsIot_TP_behavior_MW_PS { mw_SipResponse(mdw_4XX_Base) }, { 0, omit }, - "TP_MW_PCSCF_ECO_480TEMPAV_01", + "TP_MW_PCSCF_ECO_480INVITE_01", true, p_checkMessage ) @@ -4877,7 +4877,7 @@ module AtsImsIot_TP_behavior_MW_PS { // Retrieve messge f_getSipMsgFromMonitor(p_monitorCompRef, p_sip); } - } // End of function f_mtc_check_TP_MW_PCSCF_ECO_480TEMPAV_01 + } // End of function f_mtc_check_TP_MW_PCSCF_ECO_480INVITE_01 } // End of group imsTemporaryUnavailable diff --git a/ttcn/AtsImsIot/AtsImsIot_Templates_MI.ttcn b/ttcn/AtsImsIot/AtsImsIot_Templates_MI.ttcn index 448ec57..3a4b5fa 100644 --- a/ttcn/AtsImsIot/AtsImsIot_Templates_MI.ttcn +++ b/ttcn/AtsImsIot/AtsImsIot_Templates_MI.ttcn @@ -29,12 +29,12 @@ module AtsImsIot_Templates_MI { import from AtsImsIot_Templates all; /** - * @desc INVITE Request checking TP_MI_BGCF_INVITE_01 - */ - template(present) INVITE_Request mw_TP_MI_BGCF_INVITE_01 (template (present) SipUrl p_IBCF_SIP_URI := ?, - template (present) From p_from := ?, - template (present) To p_to := ?) - modifies mw_INVITE_Request_Base := { + * @desc INVITE Request checking TP_MI_ECSCF_INVITE_01 + */ + template(present) INVITE_Request mw_TP_MI_ECSCF_INVITE_01 (template (present) SipUrl p_invite_uri := ?, + template (present) From p_from := ?, + template (present) To p_to := ?) + modifies mw_INVITE_Request_Base := { msgHeader := { fromField := p_from, toField := p_to, @@ -42,13 +42,13 @@ module AtsImsIot_Templates_MI { fieldName := ROUTE_E, routeBody := { *, - complement(mw_routeBody(p_IBCF_SIP_URI)), + complement(mw_routeBody(p_invite_uri)), * } }, omit), recordRoute := { fieldName := RECORD_ROUTE_E, - routeBody := {mw_routeBody(p_IBCF_SIP_URI), *} + routeBody := {mw_routeBody(p_invite_uri), *} }, pChargingVector := { fieldName := P_CHARGING_VECTOR_E, @@ -68,7 +68,25 @@ module AtsImsIot_Templates_MI { } } - template (present) Response mw_TP_MI_BGCF_100Trying_01( + template(present) INVITE_Request mw_TP_MI_ECSCF_INVITE_02 (template (present) SipUrl p_invite_uri := ?, + template (present) From p_from := ?, + template (present) To p_to := ?) + modifies mw_TP_MI_ECSCF_INVITE_01 := { + } + + template(present) INVITE_Request mw_TP_MI_ECSCF_INVITE_03 (template (present) SipUrl p_invite_uri := ?, + template (present) From p_from := ?, + template (present) To p_to := ?) + modifies mw_TP_MI_ECSCF_INVITE_01 := { + msgHeader := { + recordRoute := { + fieldName := RECORD_ROUTE_E, + routeBody := {mw_routeBody(p_invite_uri), *} + } + } + } + + template (present) Response mw_TP_MI_ECSCF_100Trying_01( template (present) CSeq p_cSeq := ?, template (present) From p_from := ?, template (present) To p_to := ? @@ -78,9 +96,9 @@ module AtsImsIot_Templates_MI { fromField := p_from, toField := p_to } - } // End of template mw_TP_MI_BGCF_100Trying_01 + } // End of template mw_TP_MI_ECSCF_100Trying_01 - template (present) Response mw_TP_MI_BGCF_180Ringing_01( + template (present) Response mw_TP_MI_ECSCF_180Ringing_01( template (present) CSeq p_cSeq := ?, template (present) From p_from := ?, template (present) To p_to := ? @@ -90,9 +108,9 @@ module AtsImsIot_Templates_MI { fromField := p_from, toField := p_to } - } // End of template mw_TP_MI_BGCF_180Ringing_01 + } // End of template mw_TP_MI_ECSCF_180Ringing_01 - template (present) Response mw_TP_MI_BGCF_183SessionProgress_01( + template (present) Response mw_TP_MI_ECSCF_183SessionProgress_01( template (present) CSeq p_cSeq := ?, template (present) From p_from := ?, template (present) To p_to := ? @@ -102,9 +120,9 @@ module AtsImsIot_Templates_MI { fromField := p_from, toField := p_to } - } // End of template mw_TP_MI_BGCF_183SessionProgress_01 + } // End of template mw_TP_MI_ECSCF_183SessionProgress_01 - template (present) ACK_Request mw_TP_MI_BGCF_ACK_01( // TODO To be enforced + template (present) ACK_Request mw_TP_MI_ECSCF_ACK_01( // TODO To be enforced template (present) CallId p_callId := ?, template (present) CSeq p_cSeq := ?, template (present) SipUrl p_ack_uri := ?, @@ -129,9 +147,9 @@ module AtsImsIot_Templates_MI { } } } - } // End of template mw_TP_MI_BGCF_ACK_01 + } // End of template mw_TP_MI_ECSCF_ACK_01 - template (present) BYE_Request mw_TP_MI_BGCF_BYE_01( // TODO To be enforced + template (present) BYE_Request mw_TP_MI_ECSCF_BYE_01( // TODO To be enforced template (present) CallId p_callId := ?, template (present) CSeq p_cSeq := ?, template (present) SipUrl p_bye_uri := ?, @@ -158,7 +176,7 @@ module AtsImsIot_Templates_MI { } } // End of template mw_TP_MW_PCSCF_BYE_01 - template (present) CANCEL_Request mw_TP_MI_BGCF_CANCEL_01( // TODO To be enforced + template (present) CANCEL_Request mw_TP_MI_ECSCF_CANCEL_01( // TODO To be enforced template (present) CallId p_callId := ?, template (present) CSeq p_cSeq := ?, template (present) SipUrl p_bye_uri := ?, @@ -183,6 +201,6 @@ module AtsImsIot_Templates_MI { } } } - } // End of template mw_TP_MI_BGCF_CANCEL_01 + } // End of template mw_TP_MI_ECSCF_CANCEL_01 } // End of module AtsImsIot_Templates_MI diff --git a/ttcn/AtsImsIot/AtsImsIot_Templates_MM.ttcn b/ttcn/AtsImsIot/AtsImsIot_Templates_MM.ttcn index 0a37e1e..bcfd154 100644 --- a/ttcn/AtsImsIot/AtsImsIot_Templates_MM.ttcn +++ b/ttcn/AtsImsIot/AtsImsIot_Templates_MM.ttcn @@ -11,6 +11,7 @@ module AtsImsIot_Templates_MM { // libSip import from LibSip_SIPTypesAndValues all; + import from LibSip_MessageBodyTypes all; import from LibSip_Templates all; import from LibSip_Common all; @@ -29,11 +30,15 @@ module AtsImsIot_Templates_MM { import from AtsImsIot_Templates all; /** - * @desc INVITE Request checking TP_MM_ECSCF_INVITE_01 - */ - template(present) INVITE_Request mw_TP_MM_ECSCF_INVITE_01 (template (present) SipUrl p_IBCF_SIP_URI := ?, - template (present) From p_from := ?, - template (present) To p_to := ?) + * @desc INVITE Request checking TP_MM_ECSCF_INVITE_01 + */ + template(present) INVITE_Request mw_TP_MM_ECSCF_INVITE_01 (template (present) SipUrl p_invite_uri := ?, + template (present) From p_from := ?, + template (present) To p_to := ?, + template (present) Contact p_contact := ?, + template (present) MessageBody p_messageBody := ?, + template (present) PAssertedID p_pAssertedID := ? + ) modifies mw_INVITE_Request_Base := { msgHeader := { fromField := p_from, @@ -42,32 +47,43 @@ module AtsImsIot_Templates_MM { fieldName := ROUTE_E, routeBody := { *, - complement(mw_routeBody(p_IBCF_SIP_URI)), + complement(mw_routeBody(p_invite_uri)), * } }, omit), recordRoute := { fieldName := RECORD_ROUTE_E, - routeBody := {mw_routeBody(p_IBCF_SIP_URI), *} - }, - pChargingVector := { - fieldName := P_CHARGING_VECTOR_E, - chargeParams := { - *, -// {id := "icid-value", paramValue := ?}, - *, - {id := "orig-ioi", paramValue := ?}, - *, -// complement({id := "term-ioi", paramValue := ?}), - *, - complement({id := "access-network-charging-info", paramValue := ?}), - * - } + routeBody := {mw_routeBody(p_invite_uri), *} }, - pAccessNetworkInfo := omit + contact := p_contact, + pAssertedID := p_pAssertedID + }, + messageBody := p_messageBody + } + + template(present) INVITE_Request mw_TP_MM_ECSCF_INVITE_02 (template (present) SipUrl p_invite_uri := ?, + template (present) From p_from := ?, + template (present) To p_to := ?, + template (present) Contact p_contact := ?, + template (present) MessageBody p_messageBody := ?, + template (present) PAssertedID p_pAssertedID := ? + ) + modifies mw_TP_MM_ECSCF_INVITE_01 := { + msgHeader := { + pChargingFunctionAddresses := omit } } + template(present) INVITE_Request mw_TP_MM_ECSCF_INVITE_03 (template (present) SipUrl p_invite_uri := ?, + template (present) From p_from := ?, + template (present) To p_to := ?, + template (present) Contact p_contact := ?, + template (present) MessageBody p_messageBody := ?, + template (present) PAssertedID p_pAssertedID := ? + ) + modifies mw_TP_MM_ECSCF_INVITE_02 := { + } + template (present) Response mw_TP_MM_ECSCF_100Trying_01( template (present) CSeq p_cSeq := ?, template (present) From p_from := ?, @@ -156,7 +172,19 @@ module AtsImsIot_Templates_MM { } } } - } // End of template mw_TP_MW_PCSCF_BYE_01 + } // End of template mw_TP_MM_ECSCF_BYE_01 + + template (present) BYE_Request mw_TP_MM_ECSCF_BYE_02( // TODO To be enforced + template (present) CallId p_callId := ?, + template (present) CSeq p_cSeq := ?, + template (present) SipUrl p_bye_uri := ?, + template (present) From p_from := ?, + template (present) To p_to := ? + ) modifies mw_TP_MM_ECSCF_BYE_01 := { + msgHeader := { + route := * + } + } // End of template mw_TP_MM_ECSCF_BYE_02 template (present) CANCEL_Request mw_TP_MM_ECSCF_CANCEL_01( // TODO To be enforced template (present) CallId p_callId := ?, -- GitLab From 2d7b570a607ee45c4b2279cbfcd976711adbac84 Mon Sep 17 00:00:00 2001 From: garciay Date: Tue, 19 Sep 2023 11:03:15 +0200 Subject: [PATCH 09/32] Review of TTCN-3 implementation & templates of all emergency TPs for the SIP part --- test_purposes/E_CSCF/TP_E_CSCF.tplan2 | 8 +- ttcn/AtsImsIot/AtsImsIot_Emergency.ttcn | 74 +- ttcn/AtsImsIot/AtsImsIot_TP_behavior_MM.ttcn | 36 +- .../AtsImsIot_TP_behavior_MW_EC.ttcn | 33 - ..._EB.ttcn => AtsImsIot_TP_behavior_MX.ttcn} | 1036 ++++++++--------- .../AtsImsIot_TP_behavior_Mx_LRF.ttcn | 98 -- ttcn/AtsImsIot/AtsImsIot_Templates_ML.ttcn | 9 - ttcn/AtsImsIot/AtsImsIot_Templates_MX.ttcn | 225 ++++ 8 files changed, 788 insertions(+), 731 deletions(-) delete mode 100644 ttcn/AtsImsIot/AtsImsIot_TP_behavior_MW_EC.ttcn rename ttcn/AtsImsIot/{AtsImsIot_TP_behavior_MW_EB.ttcn => AtsImsIot_TP_behavior_MX.ttcn} (51%) delete mode 100644 ttcn/AtsImsIot/AtsImsIot_TP_behavior_Mx_LRF.ttcn create mode 100644 ttcn/AtsImsIot/AtsImsIot_Templates_MX.ttcn diff --git a/test_purposes/E_CSCF/TP_E_CSCF.tplan2 b/test_purposes/E_CSCF/TP_E_CSCF.tplan2 index 8f99c15..7e5f51a 100644 --- a/test_purposes/E_CSCF/TP_E_CSCF.tplan2 +++ b/test_purposes/E_CSCF/TP_E_CSCF.tplan2 @@ -662,7 +662,7 @@ Package TP_E_CSCF { Initial conditions with { the IMS_E_CSCF entity supportsRoutingTo the IMS_IBCF_A and - the UE_A entity previouslyEstablishedEmergencyCallWith the PSA via IMS_IBCF_A + the UE_A entity previouslyEstablishedEmergencyCallWith the PSAP via IMS_IBCF_A } Expected behaviour @@ -705,7 +705,7 @@ Package TP_E_CSCF { Initial conditions with { the IMS_E_CSCF entity supportsRoutingTo the IMS_IBCF_A and - the UE_A entity previouslyEstablishedEmergencyCallWith the PSA via IMS_IBCF_A + the UE_A entity previouslyEstablishedEmergencyCallWith the PSAP via IMS_IBCF_A } Expected behaviour @@ -1001,7 +1001,7 @@ Package TP_E_CSCF { Initial conditions with { the IMS_E_CSCF entity supportsRoutingTo the IMS_IBCF_A and - the UE_A entity previouslyEstablishedEmergencyCallWith the PSA via IMS_IBCF_A + the UE_A entity previouslyEstablishedEmergencyCallWith the PSAP via IMS_IBCF_A } Expected behaviour @@ -1129,7 +1129,7 @@ Package TP_E_CSCF { Initial conditions with { the IMS_E_CSCF entity supportsRoutingTo the IMS_IBCF_A and - the UE_A entity previouslyEstablishedEmergencyCallWith the PSA via IMS_IBCF_A + the UE_A entity previouslyEstablishedEmergencyCallWith the PSAP via IMS_IBCF_A } Expected behaviour diff --git a/ttcn/AtsImsIot/AtsImsIot_Emergency.ttcn b/ttcn/AtsImsIot/AtsImsIot_Emergency.ttcn index 0211034..02c6b72 100644 --- a/ttcn/AtsImsIot/AtsImsIot_Emergency.ttcn +++ b/ttcn/AtsImsIot/AtsImsIot_Emergency.ttcn @@ -28,9 +28,7 @@ module AtsImsIot_Emergency { import from AtsImsIot_TP_behavior_MW_PS all; import from AtsImsIot_TP_behavior_MW_SI all; import from AtsImsIot_TP_behavior_MW_IS all; - import from AtsImsIot_TP_behavior_MW_EC all; - import from AtsImsIot_TP_behavior_MW_EB all; - import from AtsImsIot_TP_behavior_Mx_LRF all; // FIXME Rename into MX_ + import from AtsImsIot_TP_behavior_MX all; import from AtsImsIot_TP_behavior_MM all; import from AtsImsIot_TP_behavior_MI all; import from AtsImsIot_TP_behavior_ML all; @@ -816,8 +814,8 @@ module AtsImsIot_Emergency { f_mtc_check_TP_MW_PCSCF_ECO_INVITE_02(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 10 f_mtc_check_TP_MW_PCSCF_ECO_100Trying_01(vc_vxlte_monitor_components.mwPE, -, v_sip); - f_mtc_check_TP_MW_IBCF_INVITE_01(vc_vxlte_monitor_components.mwEB); // Event 11 - f_mtc_check_TP_MW_IBSCF_100Trying_01(vc_vxlte_monitor_components.mwEB, -, v_sip); + f_mtc_check_TP_MX_ECSCF_ECO_INVITE_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 11 + f_mtc_check_TP_MX_ECSCF_ECO_100Trying_01(vc_vxlte_monitor_components.mwEB, -, v_sip); f_mtc_check_TP_IC_IBCF_INVITE_01(vc_vxlte_monitor_components.ic, true); // INVITE Event 12 (NOTE: comment out if ISC simulated by Ic) f_mtc_check_TP_IC_IBCF_INVITE_02(vc_vxlte_monitor_components.ic, true); // INVITE Event 12 (NOTE: comment out if ISC simulated by Ic) @@ -825,7 +823,7 @@ module AtsImsIot_Emergency { // 183 Session Progress f_mtc_check_TP_IC_IBCF_183RESP_01(vc_vxlte_monitor_components.ic, -); // 183 Event 13 - f_mtc_check_TP_MW_IBCF_183SESSION_PROGRESS_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 14 + f_mtc_check_TP_MX_ECSCF_ECO_183SESSION_PROGRESS_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 14 f_mtc_check_TP_MW_PCSCF_ECO_183SESSION_PROGRESS_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 15 f_mtc_check_TP_GM_PCSCF_183SESSION_PROGRESS_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 20 @@ -836,7 +834,7 @@ module AtsImsIot_Emergency { f_mtc_check_TP_RX_PCRF_AAA_02(vc_vxlte_monitor_components.rx); // Event 19 f_mtc_check_TP_IC_IBCF_180RESP_01(vc_vxlte_monitor_components.ic); // 180 Ringing – Event 22 - f_mtc_check_TP_MW_IBCF_180RINGING_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 23 + f_mtc_check_TP_MX_ECSCF_ECO_180RINGING_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 23 f_mtc_check_TP_MW_PCSCF_ECO_180RINGING_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 24 f_mtc_check_TP_GM_PCSCF_180RINGING_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 25 @@ -848,13 +846,13 @@ module AtsImsIot_Emergency { f_mtc_check_TP_IC_IBCF_2XXRESP_02(vc_vxlte_monitor_components.ic, true); // 200 OK – Event 26 f_mtc_check_TP_IC_IBCF_2XXRESP_03(vc_vxlte_monitor_components.ic); // 200 OK – Event 26 - f_mtc_check_TP_MW_IBCF_200OK_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 27 + f_mtc_check_TP_MX_ECSCF_ECO_200OK_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 27 f_mtc_check_TP_MW_PCSCF_ECO_200OK_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 28 f_mtc_check_TP_GM_PCSCF_200OK_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 29 f_mtc_check_TP_GM_PCSCF_ACK_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 30 f_mtc_check_TP_MW_PCSCF_ECO_ACK_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 31 - f_mtc_check_TP_MW_IBCF_ACK_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 32 + f_mtc_check_TP_MX_ECSCF_ECO_ACK_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 32 f_mtc_check_TP_IC_IBCF_ACK_01(vc_vxlte_monitor_components.ic); // ACK – Event 33 f_mtc_userCheckCallEstablished(v_ueA); // Event 34 @@ -952,11 +950,11 @@ module AtsImsIot_Emergency { f_mtc_check_TP_MW_PCSCF_ECO_100Trying_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // FIXME f_mtc_check_TP_MW_IBCF_xxx <--> f_mtc_check_TP_ML_EBCF_xxx - f_mtc_check_TP_MW_IBCF_INVITE_01(vc_vxlte_monitor_components.mlE_LRF); // Event 11 + f_mtc_check_TP_ML_ECSCF_ECO_INVITE_01(vc_vxlte_monitor_components.mlE_LRF, -, v_sip); // Event 11 f_mtc_check_TP_MX_LRF_3xxAny_01(vc_vxlte_monitor_components.mlE_LRF, -, v_sip); // Event 12 - f_mtc_check_TP_MW_IBCF_INVITE_02(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 13 - f_mtc_check_TP_MW_IBSCF_100Trying_01(vc_vxlte_monitor_components.mwEB, -, v_sip); + f_mtc_check_TP_MX_ECSCF_ECO_INVITE_02(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 13 + f_mtc_check_TP_MX_ECSCF_ECO_100Trying_01(vc_vxlte_monitor_components.mwEB, -, v_sip); f_mtc_check_TP_IC_IBCF_INVITE_01(vc_vxlte_monitor_components.ic, true); // INVITE Event 14 f_mtc_check_TP_IC_IBCF_INVITE_02(vc_vxlte_monitor_components.ic, true); // INVITE Event 14 @@ -964,7 +962,7 @@ module AtsImsIot_Emergency { // 183 Session Progress - f_mtc_check_TP_MW_IBCF_183SESSION_PROGRESS_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 16 + f_mtc_check_TP_MX_ECSCF_ECO_183SESSION_PROGRESS_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 16 f_mtc_check_TP_MW_PCSCF_ECO_183SESSION_PROGRESS_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 17 f_mtc_check_TP_GM_PCSCF_183SESSION_PROGRESS_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 24 @@ -975,7 +973,7 @@ module AtsImsIot_Emergency { f_mtc_check_TP_RX_PCRF_AAA_02(vc_vxlte_monitor_components.rx); // Event 21 f_mtc_check_TP_IC_IBCF_180RESP_01(vc_vxlte_monitor_components.ic, true); // 180 Ringing – Event 24 - f_mtc_check_TP_MW_IBCF_180RINGING_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 25 + f_mtc_check_TP_MX_ECSCF_ECO_180RINGING_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 25 f_mtc_check_TP_MW_PCSCF_ECO_180RINGING_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 26 f_mtc_check_TP_GM_PCSCF_180RINGING_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 27 @@ -987,13 +985,13 @@ module AtsImsIot_Emergency { f_mtc_check_TP_IC_IBCF_2XXRESP_02(vc_vxlte_monitor_components.ic, true); // 200 OK – Event 28 f_mtc_check_TP_IC_IBCF_2XXRESP_03(vc_vxlte_monitor_components.ic); // 200 OK – Event 28 - f_mtc_check_TP_MW_IBCF_200OK_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 29 + f_mtc_check_TP_MX_ECSCF_ECO_200OK_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 29 f_mtc_check_TP_MW_PCSCF_ECO_200OK_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 30 f_mtc_check_TP_GM_PCSCF_200OK_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 31 f_mtc_check_TP_GM_PCSCF_ACK_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 32 f_mtc_check_TP_MW_PCSCF_ECO_ACK_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 33 - f_mtc_check_TP_MW_IBCF_ACK_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 34 + f_mtc_check_TP_MX_ECSCF_ECO_ACK_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 34 f_mtc_check_TP_IC_IBCF_ACK_01(vc_vxlte_monitor_components.ic); // ACK – Event 35 f_mtc_userCheckCallEstablished(v_ueA); // Event 36 @@ -1217,15 +1215,15 @@ module AtsImsIot_Emergency { f_mtc_check_TP_ML_ECSCF_ECO_INVITE_01(vc_vxlte_monitor_components.mlE_LRF, -, v_sip); // Event 11 f_mtc_check_TP_MX_LRF_3xxAny_01(vc_vxlte_monitor_components.mlE_LRF, -, v_sip); // Event 12 - f_mtc_check_TP_MW_IBCF_INVITE_01(vc_vxlte_monitor_components.mwEB); // Event 13 - f_mtc_check_TP_MW_IBSCF_100Trying_01(vc_vxlte_monitor_components.mwEB, -, v_sip); + f_mtc_check_TP_MX_ECSCF_ECO_INVITE_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 13 + f_mtc_check_TP_MX_ECSCF_ECO_100Trying_01(vc_vxlte_monitor_components.mwEB, -, v_sip); f_mtc_check_TP_IC_IBCF_INVITE_01(vc_vxlte_monitor_components.ic, true); // INVITE Event 14 f_mtc_check_TP_IC_IBCF_INVITE_02(vc_vxlte_monitor_components.ic, true); // INVITE Event 14 f_mtc_check_TP_IC_IBCF_183RESP_01(vc_vxlte_monitor_components.ic,-); // 183 Event 15 // 183 Session Progress - f_mtc_check_TP_MW_IBCF_183SESSION_PROGRESS_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 16 + f_mtc_check_TP_MX_ECSCF_ECO_183SESSION_PROGRESS_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 16 f_mtc_check_TP_MW_PCSCF_ECO_183SESSION_PROGRESS_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 17 f_mtc_check_TP_GM_PCSCF_183SESSION_PROGRESS_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 24 @@ -1236,7 +1234,7 @@ module AtsImsIot_Emergency { f_mtc_check_TP_RX_PCRF_AAA_02(vc_vxlte_monitor_components.rx); // Event 21 f_mtc_check_TP_IC_IBCF_180RESP_01(vc_vxlte_monitor_components.ic, true); // 180 Ringing – Event 24 - f_mtc_check_TP_MW_IBCF_180RINGING_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 25 + f_mtc_check_TP_MX_ECSCF_ECO_180RINGING_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 25 f_mtc_check_TP_MW_PCSCF_ECO_180RINGING_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 26 f_mtc_check_TP_GM_PCSCF_180RINGING_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 27 @@ -1248,13 +1246,13 @@ module AtsImsIot_Emergency { f_mtc_check_TP_IC_IBCF_2XXRESP_02(vc_vxlte_monitor_components.ic, true); // 200 OK – Event 28 f_mtc_check_TP_IC_IBCF_2XXRESP_03(vc_vxlte_monitor_components.ic); // 200 OK – Event 28 - f_mtc_check_TP_MW_IBCF_200OK_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 29 + f_mtc_check_TP_MX_ECSCF_ECO_200OK_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 29 f_mtc_check_TP_MW_PCSCF_ECO_200OK_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 30 f_mtc_check_TP_GM_PCSCF_200OK_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 31 f_mtc_check_TP_GM_PCSCF_ACK_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 32 f_mtc_check_TP_MW_PCSCF_ECO_ACK_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 33 - f_mtc_check_TP_MW_IBCF_ACK_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 34 + f_mtc_check_TP_MX_ECSCF_ECO_ACK_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 34 f_mtc_check_TP_IC_IBCF_ACK_01(vc_vxlte_monitor_components.ic); // ACK – Event 35 f_mtc_userCheckCallEstablished(v_ueA); // Event 36 @@ -1507,8 +1505,8 @@ module AtsImsIot_Emergency { f_mtc_check_TP_IC_IBCF_INVITE_01(vc_vxlte_monitor_components.ic); // Event 2 f_mtc_check_TP_GM_PCSCF_ECO_100Trying_01(vc_vxlte_monitor_components.ic, -, v_sip); - f_mtc_check_TP_MW_IBCF_INVITE_01(vc_vxlte_monitor_components.mwEB); // Event 3 - f_mtc_check_TP_MW_IBSCF_100Trying_01(vc_vxlte_monitor_components.mwEB, -, v_sip); + f_mtc_check_TP_MX_ECSCF_ECO_INVITE_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 3 + f_mtc_check_TP_MX_ECSCF_ECO_100Trying_01(vc_vxlte_monitor_components.mwEB, -, v_sip); f_mtc_check_TP_MW_PCSCF_ECO_INVITE_02(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 6 f_mtc_check_TP_MW_PCSCF_ECO_100Trying_01(vc_vxlte_monitor_components.mwPE, -, v_sip); @@ -1610,8 +1608,8 @@ module AtsImsIot_Emergency { // Test body f_mtc_check_TP_IC_IBCF_INVITE_02(vc_vxlte_monitor_components.ic); // Event 4 - f_mtc_check_TP_MW_IBCF_INVITE_01(vc_vxlte_monitor_components.mwEB); // Event 5 - f_mtc_check_TP_MW_IBSCF_100Trying_01(vc_vxlte_monitor_components.mwEB, -, v_sip); + f_mtc_check_TP_MX_ECSCF_ECO_INVITE_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 5 + f_mtc_check_TP_MX_ECSCF_ECO_100Trying_01(vc_vxlte_monitor_components.mwEB, -, v_sip); f_mtc_check_TP_MW_PCSCF_ECO_INVITE_02(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 6 f_mtc_check_TP_MW_PCSCF_ECO_100Trying_01(vc_vxlte_monitor_components.mwPE, -, v_sip); @@ -1734,7 +1732,7 @@ module AtsImsIot_Emergency { f_mtc_check_TP_GX_PGW_RAA_03(vc_vxlte_monitor_components.gx); // (RAA – Event 12) f_mtc_check_TP_RX_PCRF_STA_01(vc_vxlte_monitor_components.rx); // (STA – Event 13) - f_mtc_check_TP_MW_IBCF_ECO_200OK_01(vc_vxlte_monitor_components.mmB_PSAP, -, v_sip); // Event 13 + f_mtc_check_TP_MX_ECSCF_ECO_200OK_01(vc_vxlte_monitor_components.mmB_PSAP, -, v_sip); // Event 13 f_mtc_check_TP_MW_PCSCF_ECO_200OK_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 18 f_mtc_check_TP_GM_PCSCF_200OK_02(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 19 @@ -1812,7 +1810,7 @@ module AtsImsIot_Emergency { f_mtc_check_TP_GM_PCSCF_ECO_BYE_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 2 f_mtc_check_TP_MW_PCSCF_ECO_BYE_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 3 - f_mtc_check_TP_MW_IBCF_ECO_BYE_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 5 + f_mtc_check_TP_MX_ECSCF_ECO_BYE_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 5 f_mtc_check_TP_IC_IBCF_ECO_BYE_01(vc_vxlte_monitor_components.ic); // Event 6 //Rx/Gx exchange after BYE was received at P-CSCF @@ -1821,7 +1819,7 @@ module AtsImsIot_Emergency { f_mtc_check_TP_GX_PGW_RAA_03(vc_vxlte_monitor_components.gx); // (RAA – Event 12) f_mtc_check_TP_RX_PCRF_STA_01(vc_vxlte_monitor_components.rx); // (STA – Event 13) - f_mtc_check_TP_MW_IBCF_ECO_200OK_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 15 + f_mtc_check_TP_MX_ECSCF_ECO_200OK_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 15 f_mtc_check_TP_MW_PCSCF_ECO_200OK_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 18 f_mtc_check_TP_GM_PCSCF_ECO_200OK_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 19 @@ -2160,7 +2158,7 @@ module AtsImsIot_Emergency { // Test body f_mtc_check_TP_IC_IBCF_BYE_01(vc_vxlte_monitor_components.ic); // Event 4 - f_mtc_check_TP_MW_IBCF_BYE_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 5 + f_mtc_check_TP_MX_ECSCF_ECO_BYE_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 5 f_mtc_check_TP_MW_PCSCF_ECO_BYE_02(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 7 f_mtc_check_TP_GM_PCSCF_ECO_BYE_02(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 8 @@ -2262,7 +2260,7 @@ module AtsImsIot_Emergency { f_mtc_check_TP_RX_PCRF_STA_01(vc_vxlte_monitor_components.rx); // (STA – Event 5) f_mtc_check_TP_MW_PCSCF_EMC_CANCEL_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 6 - f_mtc_check_TP_MM_ECSCF_ECO_CANCEL_01(vc_vxlte_monitor_components.mmB_PSAP, -, v_sip); // Event 7 + f_mtc_check_TP_MM_ECSCF_EMC_CANCEL_01(vc_vxlte_monitor_components.mmB_PSAP, -, v_sip); // Event 7 f_mtc_check_TP_MW_PCSCF_ECO_200OK_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 17 f_mtc_check_TP_GM_PCSCF_200OK_02(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 18 @@ -2356,22 +2354,22 @@ module AtsImsIot_Emergency { f_mtc_check_TP_RX_PCRF_STA_01(vc_vxlte_monitor_components.rx); // (STA – Event 5) f_mtc_check_TP_MW_PCSCF_EMC_CANCEL_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 6 - f_mtc_check_TP_MW_IBCF_ECO_CANCEL_01(vc_vxlte_monitor_components.mmB_PSAP, -, v_sip); // Event 9 + f_mtc_check_TP_MX_ECSCF_EMC_CANCEL_01(vc_vxlte_monitor_components.mmB_PSAP, -, v_sip); // Event 9 f_mtc_check_TP_IC_IBCF_CANCEL_01(vc_vxlte_monitor_components.ic, true); // CANCEL Event 10 (NOTE: comment out if ISC simulated by Ic) f_mtc_check_TP_IC_IBCF_2XXRESP_01(vc_vxlte_monitor_components.ic); // 200 CANCEL – Event 11 - f_mtc_check_TP_MW_IBCF_ECO_200OK_01(vc_vxlte_monitor_components.mmB_PSAP, -, v_sip); // Event 12 + f_mtc_check_TP_MX_ECSCF_ECO_200OK_01(vc_vxlte_monitor_components.mmB_PSAP, -, v_sip); // Event 12 f_mtc_check_TP_MW_PCSCF_ECO_200OK_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 17 f_mtc_check_TP_GM_PCSCF_200OK_02(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 18 f_mtc_check_TP_IC_IBCF_487INVITE_01(vc_vxlte_monitor_components.ic); // Event 20 - f_mtc_check_TP_MW_IBCF_ECO_487INVITE_01(vc_vxlte_monitor_components.mmB_PSAP, -, v_sip); // Event 21 + f_mtc_check_TP_MX_ECSCF_EMC_487INVITE_01(vc_vxlte_monitor_components.mmB_PSAP, -, v_sip); // Event 21 f_mtc_check_TP_MW_PCSCF_EMC_487INVITE_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 24 f_mtc_check_TP_GM_PCSCF_487INVITE_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 25 f_mtc_check_TP_GM_PCSCF_ECO_ACK_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 26 f_mtc_check_TP_MW_PCSCF_ECO_ACK_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 27 - f_mtc_check_TP_MW_IBCF_ECO_ACK_01(vc_vxlte_monitor_components.mmB_PSAP, -, v_sip); // Event 29 + f_mtc_check_TP_MX_ECSCF_ECO_ACK_01(vc_vxlte_monitor_components.mmB_PSAP, -, v_sip); // Event 29 f_mtc_check_TP_IC_IBCF_ACK_01(vc_vxlte_monitor_components.ic, true); // Event 30 f_mtc_userCheckCallTerminated(v_ueA); // Event 33 @@ -2457,7 +2455,7 @@ module AtsImsIot_Emergency { f_mtc_check_TP_MW_PCSCF_EMC_CANCEL_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 6 f_mtc_check_TP_MI_ECSCF_EMC_CANCEL_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 13 - f_mtc_check_TP_MM_ECSCF_ECO_CANCEL_01(vc_vxlte_monitor_components.mmB_PSAP, -, v_sip); // Event 14 + f_mtc_check_TP_MM_ECSCF_EMC_CANCEL_01(vc_vxlte_monitor_components.mmB_PSAP, -, v_sip); // Event 14 f_mtc_check_TP_MI_ECSCF_ECO_200OK_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 16 f_mtc_check_TP_MW_PCSCF_ECO_200OK_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 17 @@ -2667,8 +2665,8 @@ module AtsImsIot_Emergency { f_mtc_check_TP_MW_PCSCF_ECO_INVITE_02(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 12 f_mtc_check_TP_MW_PCSCF_ECO_100Trying_01(vc_vxlte_monitor_components.mwPE, -, v_sip); - f_mtc_check_TP_MW_IBCF_INVITE_01(vc_vxlte_monitor_components.mwEB); // Event 11 - f_mtc_check_TP_MW_IBSCF_100Trying_01(vc_vxlte_monitor_components.mwEB, -, v_sip); + f_mtc_check_TP_MX_ECSCF_ECO_INVITE_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 11 + f_mtc_check_TP_MX_ECSCF_ECO_100Trying_01(vc_vxlte_monitor_components.mwEB, -, v_sip); f_mtc_check_TP_IC_IBCF_INVITE_01(vc_vxlte_monitor_components.ic); // INVITE Event 12 (NOTE: comment out if ISC simulated by Ic) diff --git a/ttcn/AtsImsIot/AtsImsIot_TP_behavior_MM.ttcn b/ttcn/AtsImsIot/AtsImsIot_TP_behavior_MM.ttcn index 34c018c..c052257 100644 --- a/ttcn/AtsImsIot/AtsImsIot_TP_behavior_MM.ttcn +++ b/ttcn/AtsImsIot/AtsImsIot_TP_behavior_MM.ttcn @@ -368,10 +368,10 @@ module AtsImsIot_TP_behavior_MM { group imsAck { function f_mtc_check_TP_MM_ECSCF_ECO_ACK_01( - in SipInterfaceMonitor p_monitorCompRef, - in boolean p_checkMessage := false, - in SipMessage p_sip - ) runs on ImsTestCoordinator { + in SipInterfaceMonitor p_monitorCompRef, + in boolean p_checkMessage := false, + in SipMessage p_sip + ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)) { // Check the ACK p_monitorCompRef.start( @@ -386,7 +386,7 @@ module AtsImsIot_TP_behavior_MM { }, { mw_SipRequest(mw_ACK_Request_Base) }, { 0, omit }, - "TP_MM_ECSCF_ACK_01 - Request", + "TP_MM_ECSCF_ECO_ACK_01 - Request", false, p_checkMessage ) @@ -588,7 +588,7 @@ module AtsImsIot_TP_behavior_MM { * } * } */ - function f_mtc_check_TP_MM_ECSCF_ECO_CANCEL_01( + function f_mtc_check_TP_MM_ECSCF_EMC_CANCEL_01( in SipInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false, inout SipMessage p_sip @@ -598,24 +598,16 @@ module AtsImsIot_TP_behavior_MM { p_monitorCompRef.start( f_Iot_Sip_receive( { mw_SipRequest(mw_TP_MM_ECSCF_CANCEL_01( - p_sip.request.msgHeader.callId, - -, // New CSeq, - -, // FIXME To be set - { - fieldName := FROM_E, - addressField := p_sip.request.msgHeader.toField.addressField, - fromParams := * - }, //p_sip.request.msgHeader.fromField, - { - fieldName := TO_E, - addressField := p_sip.request.msgHeader.fromField.addressField, - toParams := * - } //p_sip.request.msgHeader.toField - )) + p_sip.request.msgHeader.callId, + -, // New CSeq, + -, // FIXME To be set + p_sip.request.msgHeader.fromField, + p_sip.request.msgHeader.toField + )) }, { mw_SipRequest(mw_CANCEL_Request_Base) }, { 0, omit }, - "TP_MM_ECSCF_CANCEL_01 - Request", + "TP_MM_ECSCF_EMC_CANCEL_01 - Request", true, p_checkMessage ) @@ -624,7 +616,7 @@ module AtsImsIot_TP_behavior_MM { // Retrieve messge f_getSipMsgFromMonitor(p_monitorCompRef, p_sip); } - } // End of function f_mtc_check_TP_MM_ECSCF_ECO_CANCEL_01 + } // End of function f_mtc_check_TP_MM_ECSCF_EMC_CANCEL_01 } // End of group imsCancel diff --git a/ttcn/AtsImsIot/AtsImsIot_TP_behavior_MW_EC.ttcn b/ttcn/AtsImsIot/AtsImsIot_TP_behavior_MW_EC.ttcn deleted file mode 100644 index 1ccc491..0000000 --- a/ttcn/AtsImsIot/AtsImsIot_TP_behavior_MW_EC.ttcn +++ /dev/null @@ -1,33 +0,0 @@ -/** - * @author TTF T010 - * @version $Id$ - * @desc This module provides the TP behaviour functions at Mw interface at P-CSCF/E-CSCF - */ - -module AtsImsIot_TP_behavior_MW_EC { // TODO: To be removed - - // LibIms - import from LibIms_Templates all; - import from LibIms_UpperTester all; - // LibIot - import from LibIot_TypesAndValues all; - import from LibIot_Functions all; - import from LibIot_TestInterface all; - import from LibIot_PIXITS all; - // LibSip - import from LibSip_SIPTypesAndValues all; - import from LibSip_Templates all; - import from LibSip_Common all; - import from LibSip_SDPTypes all; - // LibMsrp - import from LibMsrp_TypesAndValues all; - import from LibMsrp_Functions all; - import from LibMsrp_Templates all; - // AtsImsIot - import from AtsImsIot_TestSystem all; - import from AtsImsIot_Templates_MW all; - import from AtsImsIot_Templates all; - import from AtsImsIot_TypesAndValues all; - import from AtsImsIot_Functions all; - -} // End of module AtsImsIot_TP_behavior_MW_EC \ No newline at end of file diff --git a/ttcn/AtsImsIot/AtsImsIot_TP_behavior_MW_EB.ttcn b/ttcn/AtsImsIot/AtsImsIot_TP_behavior_MX.ttcn similarity index 51% rename from ttcn/AtsImsIot/AtsImsIot_TP_behavior_MW_EB.ttcn rename to ttcn/AtsImsIot/AtsImsIot_TP_behavior_MX.ttcn index eaf605c..1e7fbde 100644 --- a/ttcn/AtsImsIot/AtsImsIot_TP_behavior_MW_EB.ttcn +++ b/ttcn/AtsImsIot/AtsImsIot_TP_behavior_MX.ttcn @@ -1,10 +1,10 @@ /** - * @author TTF T010 + * @author STF 574 * @version $Id$ - * @desc This module provides the TP behaviour functions at Mw interface at E-CSCF/IBCF + * @desc This module provides the TP behaviour functions at Mw interface at S-CSCF/IBCF */ -module AtsImsIot_TP_behavior_MW_EB { +module AtsImsIot_TP_behavior_MX { // LibIms import from LibIms_Templates all; @@ -25,146 +25,236 @@ module AtsImsIot_TP_behavior_MW_EB { import from LibMsrp_Templates all; // AtsImsIot import from AtsImsIot_TestSystem all; - import from AtsImsIot_Templates_MW all; import from AtsImsIot_Templates all; + import from AtsImsIot_Templates_MX all; import from AtsImsIot_TypesAndValues all; import from AtsImsIot_Functions all; group imsInvite { /** - * @desc Verify that the E-CSCF successfully processes an initial INVITE (Originating Leg).. + * @desc "Verify that the E-CSCF successfully processes an initial INVITE from the P-CSCF and routes the request to the IBCF for a PSAP in another network." + * Reference + * "ETSI TS 124 229 [1], Clauses 5.11.2" + * Config Id CF_VxLTE_INT + * PICS Selection NONE * Initial conditions with { - * the UE_A entity isAttachedTo the EPC_A and - * the PSAP entity isAttachedTo the EPC_B and - * the UE_A entity isRegisteredTo the IMS_A and - * the PSAP entity isRegisteredTo the IMS_B + * the IMS_E_CSCF entity supportsRoutingTo the IMS_IBCF_A * } - * * Expected behaviour - * ensure that { - * when { - * the IMS_E_CSCF_A entity receives an INVITE containing - * From indicating value PX_UE_A_SIP_URI, - * To indicating value PX_PSAP_SIP_URI, - * CallId indicating value PX_UE_A_CALLID, - * Via indicating value PX_UE_A_VIA, - * Route indicating value PX_UE_A_SERVICE_ROUTE, - * PAccessNetworkInfo, - * MessageBody containing - * SDP containing - * Version indicating value "0" - * ; - * ;; - * from the IMS_P_CSCF_A entity - * } - * then { - * the IMS_E_CSCF_A entity sends an INVITE containing - * From indicating value PX_UE_A_SIP_URI, - * To indicating value PX_PSAP_SIP_URI, - * CallId indicating value PX_UE_A_CALLID, - * Via indicating value PX_UE_A_VIA, - * Route indicating value PX_UE_A_SERVICE_ROUTE, - * PAccessNetworkInfo, - * MessageBody containing - * SDP containing - * Version indicating value "0" - * ; - * ;; - * to the IMS_IBCF_A entity + * ensure that { + * when { + * the IMS_E_CSCF entity receives an INVITE containing + * From indicating value PX_UE_A_SIP_URI, + * To indicating value PX_SIP_EMERGENCY_SERVICE_URN, + * CallId indicating value PX_UE_A_CALLID, + * Via indicating value PX_P_CSCF_A_VIA, + * Route indicating value PX_E_CSCF_SERVICE_ROUTE, // 5.2.10.3 1B) option is assumed + * PAssertedIdentity, + * MessageBody; + * from the IMS_P_CSCF_A entity + * } + * then { + * the IMS_E_CSCF entity sends an INVITE containing + * From indicating value PX_UE_A_SIP_URI, + * To indicating value PX_SIP_EMERGENCY_SERVICE_URN, + * CallId indicating value PX_UE_A_CALLID, + * Via indicating value PX_E_CSCF_VIA, + * Route indicating value PX_PSAP_SERVICE_ROUTE_IM_CN, + * RecordRoute PX_E_CSCF_SERVICE_ROUTE, + * PChargingVector containing + * not term_ioi_parameter, + * orig_ioi_parameter + * indicating value "Operator Identifier Of ImsA";, + * MessageBody; + * to the IMS_IBCF_A entity * } * } - */ - function f_mtc_check_TP_MW_IBCF_INVITE_01( - in SipInterfaceMonitor p_monitorCompRef, - in boolean p_checkMessage := false - ) runs on ImsTestCoordinator { + */ + function f_mtc_check_TP_MX_ECSCF_ECO_INVITE_01( + in SipInterfaceMonitor p_monitorCompRef, + in boolean p_checkMessage := false, + out SipMessage p_sip + ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)) { - var charstring v_EUT_A_Addr := f_GetEUTScscfAddress_1();//f_GetEUTScscfAddress(PX_EUT_A); + var ImsUserInfo v_userInfoA := f_getTelUserId(PX_EUT_A_EMERGENCY); + var ImsUserInfo v_psapInfo := f_getSipUserId(PX_PSAP); + + // Check the INVITE p_monitorCompRef.start( - f_Iot_Sip_receive( - { - mw_SipRequest( - mdw_TP_MW_IBCF_INVITE_01( - ( - mw_SipUrl_Host(v_EUT_A_Addr) //f_GetEUTScscfIpAddress(PX_EUT_A) - ) - )) - }, - { mw_SipRequest(mw_INVITE_Request_Base) }, - {0, omit}, - "TP_MW_IBCF_INVITE_01 - Request", - false, - p_checkMessage - ) - ); + f_Iot_Sip_receive( + { mw_SipRequest(mw_TP_MX_ECSCF_INVITE_01( + -, // FIXME Set expected value + mw_From_AddrUnion_TelUrl(-), // v_userInfoA.publicId + mw_To_AddrUnion_TelUrl(-) // v_psapInfo.publicId + )) + }, + { mw_SipRequest(mw_INVITE_Request_Base) }, + {0, omit}, + "TP_MX_ECSCF_ECO_INVITE_01 - Request", + true, + p_checkMessage + ) + ); p_monitorCompRef.done; + // Retrieve messge + f_getSipMsgFromMonitor(p_monitorCompRef, p_sip); + log("##### p_sip: ", p_sip); } - } // End of function f_mtc_check_TP_MW_IBCF_INVITE_01 + } // End of function f_mtc_check_TP_MX_ECSCF_ECO_INVITE_01 - function f_mtc_check_TP_MW_IBCF_INVITE_02( - in SipInterfaceMonitor p_monitorCompRef, - in boolean p_checkMessage := false, - in SipMessage p_sip - ) runs on ImsTestCoordinator { + /** + * @desc "Verify that the E-CSCF successfully processes an initial INVITE from the P-CSCF and routes the request to the IBCF for a PSAP in another network and includes the LRF provided URI in the Route header." + * Reference + * "ETSI TS 124 229 [1], Clauses 5.11.2" + * Config Id CF_VxLTE_INT + * PICS Selection NONE + * Initial conditions with { + * the IMS_E_CSCF entity supportsRoutingTo the IMS_LRF and + * the IMS_E_CSCF entity hasSentINVITETo the IMS_LRF and + * the IMS_E_CSCF entity supportsRoutingTo the IMS_IBCF_A + * } + * Expected behaviour + * ensure that { + * when { + * the IMS_E_CSCF entity receives an r_3xx_Any containing + * Contact indicating value LRF_provided_SIP_URI; + * from the IMS_LRF entity + * } + * then { + * the IMS_E_CSCF entity sends an INVITE containing + * From indicating value PX_UE_A_SIP_URI, + * To indicating value PX_SIP_EMERGENCY_SERVICE_URN, + * CallId indicating value PX_UE_A_CALLID, + * Via indicating value PX_E_CSCF_VIA, + * Route indicating value PX_PSAP_SERVICE_ROUTE_IM_CN, + * RecordRoute PX_E_CSCF_SERVICE_ROUTE, + * PChargingVector containing + * not term_ioi_parameter, + * orig_ioi_parameter + * indicating value "Operator Identifier Of ImsA";, + * MessageBody; + * to the IMS_IBCF_A entity + * } + * } + */ + function f_mtc_check_TP_MX_ECSCF_ECO_INVITE_02( + in SipInterfaceMonitor p_monitorCompRef, + in boolean p_checkMessage := false, + out SipMessage p_sip + ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)) { - var charstring v_EUT_A_Addr := f_GetEUTScscfAddress_1();//f_GetEUTScscfAddress(PX_EUT_A); + var ImsUserInfo v_userInfoA := f_getTelUserId(PX_EUT_A_EMERGENCY); + var ImsUserInfo v_psapInfo := f_getSipUserId(PX_PSAP); + + // Check the INVITE p_monitorCompRef.start( - f_Iot_Sip_receive( - { - mw_SipRequest( - mdw_TP_MW_IBCF_INVITE_01( - ( - mw_SipUrl_Host(v_EUT_A_Addr) //f_GetEUTScscfIpAddress(PX_EUT_A) - ) - )) - }, - { mw_SipRequest(mw_INVITE_Request_Base) }, - {0, omit}, - "TP_MW_IBCF_INVITE_01 - Request", - false, - p_checkMessage - ) - ); + f_Iot_Sip_receive( + { mw_SipRequest(mw_TP_MX_ECSCF_INVITE_02( + -, // FIXME Set expected value + mw_From_AddrUnion_TelUrl(-), // v_userInfoA.publicId + mw_To_AddrUnion_TelUrl(-) // v_psapInfo.publicId + )) + }, + { mw_SipRequest(mw_INVITE_Request_Base) }, + {0, omit}, + "TP_MX_ECSCF_ECO_INVITE_02 - Request", + true, + p_checkMessage + ) + ); p_monitorCompRef.done; + // Retrieve messge + f_getSipMsgFromMonitor(p_monitorCompRef, p_sip); + log("##### p_sip: ", p_sip); } - } // End of function f_mtc_check_TP_MW_IBCF_INVITE_02 - - } // End of group imsInvite + } // End of function f_mtc_check_TP_MX_ECSCF_ECO_INVITE_02 - group ims100Trying { - /** - * @desc Verify that the E-CSCF successfully processes a 100 (Trying) provisional response on initial INVITE (Originating Leg). + * @desc "Verify that the E-CSCF successfully processes a callback INVITE from the PSAP in another network over the IBCF and routes the request to the P-CSCF." + * Reference + * "ETSI TS 124 229 [1], Clauses 5.11.2" + * Config Id CF_VxLTE_INT + * PICS Selection NONE * Initial conditions with { - * the UE_A entity isAttachedTo the EPC_A and - * the PSAP entity isAttachedTo the EPC_B and - * the UE_A entity isRegisteredTo the IMS_A and - * the PSAP entity isRegisteredTo the IMS_B + * the IMS_E_CSCF entity supportsRoutingTo the IMS_IBCF_A * } - * * Expected behaviour - * ensure that { - * when { - * the IMS_E_CSCF_A entity receives a 100_Trying - * from the IMS_IBCF_A entity - * } - * then { - * the IMS_E_CSCF_A entity sends a 100_Trying - * to the IMS_P_CSCF_A entity + * ensure that { + * when { + * the IMS_E_CSCF entity receives an INVITE containing + * From indicating value PX_UE_A_SIP_URI, + * To indicating value PX_SIP_EMERGENCY_SERVICE_URN, + * CallId indicating value PX_UE_A_CALLID, + * Via indicating value PX_P_CSCF_A_VIA, + * Route indicating value PX_E_CSCF_SERVICE_ROUTE, // 5.2.10.3 1B) option is assumed + * PAssertedIdentity, + * MessageBody; + * from the IMS_IBCF_A entity + * } + * then { + * the IMS_E_CSCF entity sends an INVITE containing + * From indicating value PX_UE_A_SIP_URI, + * To indicating value PX_SIP_EMERGENCY_SERVICE_URN, + * CallId indicating value PX_UE_A_CALLID, + * Via indicating value PX_E_CSCF_VIA, + * Route indicating value PX_PSAP_SERVICE_ROUTE_IM_CN, + * RecordRoute PX_E_CSCF_SERVICE_ROUTE, + * PChargingVector containing + * not term_ioi_parameter, + * orig_ioi_parameter + * indicating value "Operator Identifier Of ImsA";, + * MessageBody; + * to the IMS_P_CSCF_A entity * } * } - */ - function f_mtc_check_TP_MW_IBSCF_100Trying_01( - in SipInterfaceMonitor p_monitorCompRef, - in boolean p_checkMessage := false, - in SipMessage p_sip - ) runs on ImsTestCoordinator { + */ + function f_mtc_check_TP_MX_ECSCF_ECO_INVITE_03( + in SipInterfaceMonitor p_monitorCompRef, + in boolean p_checkMessage := false, + out SipMessage p_sip + ) runs on ImsTestCoordinator { + if (isvalue(p_monitorCompRef)) { + var ImsUserInfo v_userInfoA := f_getTelUserId(PX_EUT_A_EMERGENCY); + var ImsUserInfo v_psapInfo := f_getSipUserId(PX_PSAP); + + // Check the INVITE + p_monitorCompRef.start( + f_Iot_Sip_receive( + { mw_SipRequest(mw_TP_MX_ECSCF_INVITE_03( + -, // FIXME Set expected value + mw_From_AddrUnion_TelUrl(-), // v_userInfoA.publicId + mw_To_AddrUnion_TelUrl(-) // v_psapInfo.publicId + )) + }, + { mw_SipRequest(mw_INVITE_Request_Base) }, + {0, omit}, + "TP_MX_ECSCF_ECO_INVITE_03 - Request", + true, + p_checkMessage + ) + ); + p_monitorCompRef.done; + // Retrieve messge + f_getSipMsgFromMonitor(p_monitorCompRef, p_sip); + log("##### p_sip: ", p_sip); + } + } // End of function f_mtc_check_TP_MX_ECSCF_ECO_INVITE_03 + + } // End of group imsInvite + + group ims100Trying { + + function f_mtc_check_TP_MX_ECSCF_ECO_100Trying_01( + in SipInterfaceMonitor p_monitorCompRef, + in boolean p_checkMessage := false, + in SipMessage p_sip + ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)) { // Check the 100 TRYING p_monitorCompRef.start( f_Iot_Sip_receive( - { mw_SipResponse(mw_TP_MW_IBCF_100Trying_01( + { mw_SipResponse(mw_TP_MX_ECSCF_100Trying_01( p_sip.request.msgHeader.cSeq, p_sip.request.msgHeader.fromField, p_sip.request.msgHeader.toField @@ -172,62 +262,29 @@ module AtsImsIot_TP_behavior_MW_EB { }, { mw_SipResponse(mw_100Trying_Base) }, { 0, omit }, - "TP_MW_IBCF_100Trying_01", + "TP_MX_ECSCF_100Trying_01", false, p_checkMessage ) ); p_monitorCompRef.done; } - } // End of function f_mtc_check_TP_MW_IBSCF_100Trying_01 + } // End of function f_mtc_check_TP_MX_ECSCF_ECO_100Trying_01 } // End of group ims100Trying group ims180Ringing { - /** - * @desc Verify that the E-CSCF successfully processes a 180 (Ringing) provisional response on initial INVITE (Originating Leg). - * Initial conditions with { - * the UE_A entity isAttachedTo the EPC_A and - * the PSAP entity isAttachedTo the EPC_B and - * the UE_A entity isRegisteredTo the IMS_A and - * the PSAP entity isRegisteredTo the IMS_B - * } - * - * Expected behaviour - * ensure that { - * when { - * the IMS_E_CSCF_A entity receives a 180_Ringing containing - * From indicating value PX_PSAP_SIP_URI, - * To indicating value PX_UE_A_SIP_URI, - * CallId indicating value PX_PSAP_CALLID, - * Via indicating value PX_PSAP_VIA, - * Route indicating value PX_PSAP_SERVICE_ROUTE - * ; - * from the IMS_IBCF_A entity - * } - * then { - * the IMS_E_CSCF_A entity sends a 180_Ringing containing - * From indicating value PX_PSAP_SIP_URI, - * To indicating value PX_UE_A_SIP_URI, - * CallId indicating value PX_PSAP_CALLID, - * Via indicating value PX_PSAP_VIA, - * Route indicating value PX_PSAP_SERVICE_ROUTE - * ; - * to the IMS_P_CSCF_A entity - * } - * } - */ - function f_mtc_check_TP_MW_IBCF_180RINGING_01( - in SipInterfaceMonitor p_monitorCompRef, - in boolean p_checkMessage := false, - in SipMessage p_sip - ) runs on ImsTestCoordinator { + function f_mtc_check_TP_MX_ECSCF_ECO_180RINGING_01( + in SipInterfaceMonitor p_monitorCompRef, + in boolean p_checkMessage := false, + in SipMessage p_sip + ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)) { // Check the 180 RINGING p_monitorCompRef.start( f_Iot_Sip_receive( - { mw_SipResponse(mw_TP_MW_IBCF_180Ringing_01( + { mw_SipResponse(mw_TP_MX_ECSCF_180Ringing_01( p_sip.request.msgHeader.cSeq, p_sip.request.msgHeader.fromField, mw_To_NameAddr_TelUrl( @@ -237,62 +294,29 @@ module AtsImsIot_TP_behavior_MW_EB { }, { mw_SipResponse(mw_180Ringing_Base) }, { 0, omit }, - "TP_MW_IBCF_180RINGING_01", + "TP_MX_ECSCF_180RINGING_01", false, p_checkMessage ) ); p_monitorCompRef.done; } - } // End of function f_mtc_check_TP_MW_IBCF_180RINGING_01 + } // End of function f_mtc_check_TP_MX_ECSCF_ECO_180RINGING_01 } // End of group ims180Ringing group ims183SessionProgress { - /** - * @desc Verify that the E-CSCF successfully processes a 183 (Ringing) provisional response on initial INVITE (Originating Leg). - * Initial conditions with { - * the UE_A entity isAttachedTo the EPC_A and - * the PSAP entity isAttachedTo the EPC_B and - * the UE_A entity isRegisteredTo the IMS_A and - * the PSAP entity isRegisteredTo the IMS_B - * } - * - * Expected behaviour - * ensure that { - * when { - * the IMS_E_CSCF_A entity receives a 183_SessionProgress containing - * From indicating value PX_SAP_URI, - * To indicating value PX_UE_A_SIP_URI, - * CallId indicating value PX_SAP_CALLID, - * Via indicating value PX_PSAP_VIA, - * Route indicating value PX_PSAP_SERVICE_ROUTE - * ; - * from the IMS_IBCF_A entity - * } - * then { - * the IMS_E_CSCF_A entity sends a 183_SessionProgress containing - * From indicating value PX_PSAP_SIP_URI, - * To indicating value PX_UE_A_SIP_URI, - * CallId indicating value PX_PSAP_CALLID, - * Via indicating value PX_PSAP_VIA, - * Route indicating value PX_PSAP_SERVICE_ROUTE - * ; - * to the IMS_P_CSCF_A entity - * } - * } - */ - function f_mtc_check_TP_MW_IBCF_183SESSION_PROGRESS_01( - in SipInterfaceMonitor p_monitorCompRef, - in boolean p_checkMessage := false, - in SipMessage p_sip - ) runs on ImsTestCoordinator { + function f_mtc_check_TP_MX_ECSCF_ECO_183SESSION_PROGRESS_01( + in SipInterfaceMonitor p_monitorCompRef, + in boolean p_checkMessage := false, + in SipMessage p_sip + ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)) { // Check the 183 SESSION_PROGRESS p_monitorCompRef.start( f_Iot_Sip_receive( - { mw_SipResponse(mw_TP_MW_IBCF_183SessionProgress_01( + { mw_SipResponse(mw_TP_MX_ECSCF_183SessionProgress_01( p_sip.request.msgHeader.cSeq, p_sip.request.msgHeader.fromField, p_sip.request.msgHeader.toField @@ -300,64 +324,27 @@ module AtsImsIot_TP_behavior_MW_EB { }, { mw_SipResponse(mw_183SessionProgress_Base) }, { 0, omit }, - "TP_MW_IBCF_183SESSION_PROGRESS_01", + "TP_MX_ECSCF_183SESSION_PROGRESS_01", false, p_checkMessage ) ); p_monitorCompRef.done; } - } // End of function f_mtc_check_TP_MW_IBCF_183SESSION_PROGRESS_01 + } // End of function f_mtc_check_TP_MX_ECSCF_ECO_183SESSION_PROGRESS_01 } // End of group ims183SessionProgress group ims200Ok { - /** - * @desc Verify that the E-CSCF successfully processes a 200 (OK) provisional response on initial INVITE (Originating Leg). - * Initial conditions with { - * the UE_A entity isAttachedTo the EPC_A and - * the PSAP entity isAttachedTo the EPC_B and - * the UE_A entity isRegisteredTo the IMS_A and - * the PSAP entity isRegisteredTo the IMS_B - * } - * - * Expected behaviour - * ensure that { - * when { - * the IMS_E_CSCF_A entity receives a 200_Ok containing - * From indicating value PX_PSAP_SIP_URI, - * To indicating value PX_UE_A_SIP_URI, - * CallId indicating value PX_PSAP_CALLID, - * Via indicating value PX_PSAP_VIA, - * Route indicating value PX_PSAP_SERVICE_ROUTE, - * not PChargingVector, - * not PChargingFunctionAddresses, - * not PPreferredIdentity - * ; - * from the IMS_IBCF_A entity - * } - * then { - * the IMS_E_CSCF_A entity sends a 200_Ok containing - * From indicating value PX_PSAP_SIP_URI, - * To indicating value PX_UE_A_SIP_URI, - * CallId indicating value PX_PSAP_CALLID, - * Via indicating value PX_PSAP_VIA, - * Route indicating value PX_PSAP_SERVICE_ROUTE, - * PChargingVector, - * PChargingFunctionAddresses, - * PPreferredIdentity - * ; - * to the IMS_P_CSCF_A entity - * } - * } - */ - function f_mtc_check_TP_MW_IBCF_200OK_01( - in SipInterfaceMonitor p_monitorCompRef, - in boolean p_checkMessage := false, - in SipMessage p_sip - ) runs on ImsTestCoordinator { + function f_mtc_check_TP_MX_ECSCF_ECO_200OK_01( + in SipInterfaceMonitor p_monitorCompRef, + in boolean p_checkMessage := false, + in SipMessage p_sip + ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)) { + var ImsUserInfo v_userInfoB := f_getSipUserId(PX_EUT_B); + // Check the 200 OK p_monitorCompRef.start( f_Iot_Sip_receive( @@ -374,7 +361,7 @@ module AtsImsIot_TP_behavior_MW_EB { }, { mw_SipResponse(mw_200OK_Base) }, { 0, omit }, - "TP_MW_IBCF_200OK_01", + "TP_MX_ECSCF_200OK_01", false, p_checkMessage ) @@ -382,125 +369,57 @@ module AtsImsIot_TP_behavior_MW_EB { p_monitorCompRef.done; } - } // End of function f_mtc_check_TP_MW_IBCF_200OK_01 + } // End of function f_mtc_check_TP_MX_ECSCF_ECO_200OK_01 - function f_mtc_check_TP_MW_IBCF_ECO_200OK_01( - in SipInterfaceMonitor p_monitorCompRef, - in boolean p_checkMessage := false, - in SipMessage p_sip - ) runs on ImsTestCoordinator { - if (isvalue(p_monitorCompRef)) { - // Check the 200 OK - p_monitorCompRef.start( - f_Iot_Sip_receive( - { mw_SipResponse(mw_200OK( - p_sip.request.msgHeader.cSeq, - p_sip.request.msgHeader.callId, - p_sip.request.msgHeader.fromField, - ( - mw_To_NameAddr_TelUrl({quotedString:=f_getSipUserId(PX_PSAP).publicId}), - mw_To_AddrUnion_TelUrl(f_getTelUserId(PX_PSAP).publicId), - p_sip.request.msgHeader.toField - ) - )) - }, - { mw_SipResponse(mw_200OK_Base) }, - { 0, omit }, - "TP_MW_IBCF_200OK_01", - false, - p_checkMessage - ) - ); - p_monitorCompRef.done; - - } - } // End of function f_mtc_check_TP_MW_IBCF_ECO_200OK_01 + } // End of group ims200Ok + + group imsAck { - /** - * @desc Verify that the E-CSCF successfully processes a 200 (Ok) provisional response on initial INVITE (Terminating Leg). - * Initial conditions with { - * the UE_A entity isAttachedTo the EPC_A and - * the UE_B entity isAttachedTo the EPC_B and - * the UE_A entity isRegisteredTo the IMS_A and - * the UE_B entity isRegisteredTo the IMS_B - * } - * - * Expected behaviour - * ensure that { - * when { - * the IMS_E_CSCF_A entity receives a 200_Ok containing - * From indicating value PX_UE_B_SIP_URI, - * To indicating value PX_UE_A_SIP_URI, - * CallId indicating value PX_UE_B_CALLID, - * Via indicating value PX_UE_B_VIA, - * Route indicating value PX_UE_B_SERVICE_ROUTE, - * PChargingVector, - * PChargingFunctionAddresses, - * PPreferredIdentity - * ; - * from the UE_B entity - * } - * then { - * the IMS_E_CSCF_A entity sends a 200_Ok containing - * From indicating value PX_UE_B_SIP_URI, - * To indicating value PX_UE_A_SIP_URI, - * CallId indicating value PX_UE_B_CALLID, - * Via indicating value PX_UE_B_VIA, - * Route indicating value PX_UE_B_SERVICE_ROUTE, - * not PChargingVector, - * not PChargingFunctionAddresses, - * not PPreferredIdentity - * ; - * from the IMS_P_CSCF_B entity - * } - * } - */ - function f_mtc_check_TP_MW_IBCF_200OK_02( - in SipInterfaceMonitor p_monitorCompRef, - in boolean p_checkMessage := false, - in SipMessage p_sip - ) runs on ImsTestCoordinator { + function f_mtc_check_TP_MX_ECSCF_ECO_ACK_01( + in SipInterfaceMonitor p_monitorCompRef, + in boolean p_checkMessage := false, + in SipMessage p_sip + ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)) { - // Check the 200 OK + // Check the ACK p_monitorCompRef.start( f_Iot_Sip_receive( - { mw_SipResponse(mw_200OK( - p_sip.request.msgHeader.cSeq, - p_sip.request.msgHeader.callId, - p_sip.request.msgHeader.fromField, - p_sip.request.msgHeader.toField - )) + { mw_SipRequest(mw_TP_MX_ECSCF_ACK_01( + p_sip.request.msgHeader.callId, + p_sip.request.msgHeader.cSeq, + -, // FIXME To be set + p_sip.request.msgHeader.fromField, + p_sip.request.msgHeader.toField + )) }, - { mw_SipResponse(mw_200OK_Base) }, + { mw_SipRequest(mw_ACK_Request_Base) }, { 0, omit }, - "TP_MW_IBCF_200OK_02", + "TP_MX_ECSCF_ECO_ACK_01 - Request", false, p_checkMessage ) ); p_monitorCompRef.done; } - } // End of function f_mtc_check_TP_MW_IBCF_200OK_02 + } // End of function f_mtc_check_TP_MX_ECSCF_ECO_ACK_01 - } // End of group ims200Ok - - group imsAck { + } // End of group imsAck + + group imsBye { /** - * @desc Verify that the E-CSCF successfully processes a ACK provisional response on initial INVITE (Originating Leg). + * @desc Verify that the E-CSCF successfully processes a BYE from the P-CSCF for an Emergency Call and routes the request to the IBCF for a PSAP in another network * Initial conditions with { - * the UE_A entity isAttachedTo the EPC_A and - * the PSAP entity isAttachedTo the EPC_B and - * the UE_A entity isRegisteredTo the IMS_A and - * the PSAP entity isRegisteredTo the IMS_B + * the IMS_E_CSCF entity supportsRoutingTo the IMS_IBCF_A and + * the UE_A entity previouslyEstablishedEmergencyCallWith the PSAP via IMS_IBCF_A * } * * Expected behaviour * ensure that { * when { - * the IMS_E_CSCF_A entity receives an ACK containing + * the IMS_E_CSCF_A entity receives a BYE containing * From indicating value PX_UE_A_SIP_URI, - * To indicating value PX_PSAP_SIP_URI, + * To indicating value PX_SIP_EMERGENCY_SERVICE_URN, * CallId indicating value PX_UE_A_CALLID, * Via indicating value PX_UE_A_VIA, * Route indicating value PX_UE_A_SERVICE_ROUTE @@ -508,121 +427,83 @@ module AtsImsIot_TP_behavior_MW_EB { * from the IMS_P_CSCF_A entity * } * then { - * the IMS_E_CSCF_A entity sends an ACK containing + * the IMS_E_CSCF_A entity sends a BYE containing * From indicating value PX_UE_A_SIP_URI, - * To indicating value PX_PSAP_SIP_URI, + * To indicating value PX_SIP_EMERGENCY_SERVICE_URN, * CallId indicating value PX_UE_A_CALLID, * Via indicating value PX_UE_A_VIA, - * Route indicating value PX_UE_A_SERVICE_ROUTE - * ; - * from the IMS_IBCF_A entity + * Route indicating value PX_UE_A_SERVICE_ROUTE; + * to the IMS_IBCF_A entity * } * } */ - function f_mtc_check_TP_MW_IBCF_ACK_01( - in SipInterfaceMonitor p_monitorCompRef, - in boolean p_checkMessage := false, - in SipMessage p_sip - ) runs on ImsTestCoordinator { + function f_mtc_check_TP_MX_ECSCF_ECO_BYE_01( + in SipInterfaceMonitor p_monitorCompRef, + in boolean p_checkMessage := false, + inout SipMessage p_sip + ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)) { - // Check the ACK - p_monitorCompRef.start( - f_Iot_Sip_receive( - { mw_SipRequest(mw_TP_MW_IBCF_ACK_01( - p_sip.request.msgHeader.callId, - p_sip.request.msgHeader.cSeq, - -, // FIXME To be set - p_sip.request.msgHeader.fromField, - p_sip.request.msgHeader.toField - )) - }, - { mw_SipRequest(mw_ACK_Request_Base) }, - { 0, omit }, - "TP_MW_IBCF_ACK_01 - Request", - false, - p_checkMessage - ) - ); - p_monitorCompRef.done; - } - } // End of function f_mtc_check_TP_MW_IBCF_ACK_01 - - function f_mtc_check_TP_MW_IBCF_ECO_ACK_01( - in SipInterfaceMonitor p_monitorCompRef, - in boolean p_checkMessage := false, - in SipMessage p_sip - ) runs on ImsTestCoordinator { - if (isvalue(p_monitorCompRef)) { - // Check the ACK + // Check the BYE p_monitorCompRef.start( f_Iot_Sip_receive( - { mw_SipRequest(mw_TP_MW_IBCF_ACK_01( + { mw_SipRequest(mw_TP_MX_ECSCF_BYE_01( p_sip.request.msgHeader.callId, - p_sip.request.msgHeader.cSeq, + -, // New CSeq, -, // FIXME To be set p_sip.request.msgHeader.fromField, p_sip.request.msgHeader.toField )) }, - { mw_SipRequest(mw_ACK_Request_Base) }, + { mw_SipRequest(mw_BYE_Request_Base) }, { 0, omit }, - "TP_MW_IBCF_ACK_01 - Request", - false, + "TP_MX_ECSCF_ECO_BYE_01 - Request", + true, p_checkMessage ) ); p_monitorCompRef.done; + // Retrieve messge + f_getSipMsgFromMonitor(p_monitorCompRef, p_sip); } - } // End of function f_mtc_check_TP_MW_IBCF_ACK_01 - - } // End of group imsAck - - group imsBye { - + } // End of function f_mtc_check_TP_MX_ECSCF_ECO_BYE_01 + /** - * @desc Verify that the E-CSCF successfully processes a BYE (Terminating Leg). + * @desc Verify that the E-CSCF successfully processes a BYE from the IBCF for a PSAP in another network for an Emergency Call and routes the request to the P-CSCF * Initial conditions with { - * the UE_A entity isAttachedTo the EPC_A and - * the UE_B entity isAttachedTo the EPC_B and - * the UE_A entity isRegisteredTo the IMS_A and - * the UE_B entity isRegisteredTo the IMS_B and - * the UE_A entity previouslyEstablishedCallWith the UE_B + * the IMS_E_CSCF entity supportsRoutingTo the IM_CN and + * the UE_A entity previouslyEstablishedEmergencyCallWith the PSAP * } * * Expected behaviour * ensure that { * when { * the IMS_E_CSCF_A entity receives a BYE containing - * From indicating value PX_UE_B_SIP_URI, + * From indicating value PX_PSAP_SIP_URI, * To indicating value PX_UE_A_SIP_URI, - * CallId indicating value PX_UE_B_CALLID, - * Via indicating value PX_UE_B_VIA, - * Route indicating value PX_UE_B_SERVICE_ROUTE - * ; - * from the IMS_P_CSCF_A entity + * CallId indicating value PX_PSAP_SIP_URI, + * Via indicating value PX_PSAP_VIA; + * from the IMS_IBCF_A entity * } * then { * the IMS_E_CSCF_A entity sends a BYE containing - * From indicating value PX_UE_B_SIP_URI, + * From indicating value PX_PSAP_SIP_URI, * To indicating value PX_UE_A_SIP_URI, - * CallId indicating value PX_UE_B_CALLID, - * Via indicating value PX_UE_B_VIA, - * Route indicating value PX_UE_B_SERVICE_ROUTE - * ; - * from the IMS_IBCF_A entity + * CallId indicating value PX_PSAP_SIP_URI, + * Via indicating value PX_PSAP_VIA; + * to the IMS_P_CSCF_A entity * } * } */ - function f_mtc_check_TP_MW_IBCF_BYE_01( - in SipInterfaceMonitor p_monitorCompRef, - in boolean p_checkMessage := false, - inout SipMessage p_sip - ) runs on ImsTestCoordinator { + function f_mtc_check_TP_MX_ECSCF_ECO_BYE_02( + in SipInterfaceMonitor p_monitorCompRef, + in boolean p_checkMessage := false, + inout SipMessage p_sip + ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)) { // Check the BYE p_monitorCompRef.start( f_Iot_Sip_receive( - { mw_SipRequest(mw_TP_MW_IBCF_BYE_01( + { mw_SipRequest(mw_TP_MX_ECSCF_BYE_02( p_sip.request.msgHeader.callId, -, // New CSeq, -, // FIXME To be set @@ -640,7 +521,7 @@ module AtsImsIot_TP_behavior_MW_EB { }, { mw_SipRequest(mw_BYE_Request_Base) }, { 0, omit }, - "TP_MW_IBCF_BYE_01 - Request", + "TP_MX_ECSCF_ECO_BYE_02 - Request", true, p_checkMessage ) @@ -649,146 +530,160 @@ module AtsImsIot_TP_behavior_MW_EB { // Retrieve messge f_getSipMsgFromMonitor(p_monitorCompRef, p_sip); } - } // End of function f_mtc_check_TP_MW_IBCF_BYE_01 + } // End of function f_mtc_check_TP_MX_ECSCF_ECO_BYE_02 - function f_mtc_check_TP_MW_IBCF_ECO_BYE_01( - in SipInterfaceMonitor p_monitorCompRef, - in boolean p_checkMessage := false, - inout SipMessage p_sip - ) runs on ImsTestCoordinator { + } // End of group imsBye + + group ims200OkBye { + + function f_mtc_check_TP_MX_ECSCF_ECO_200OK_BYE_01( + in SipInterfaceMonitor p_monitorCompRef, + in boolean p_checkMessage := false, + in SipMessage p_sip + ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)) { - // Check the BYE + // Check the 200 OK BYE p_monitorCompRef.start( f_Iot_Sip_receive( - { mw_SipRequest(mw_TP_MW_IBCF_BYE_01( - p_sip.request.msgHeader.callId, - -, // New CSeq, - -, // FIXME To be set - { - fieldName := FROM_E, - addressField := p_sip.request.msgHeader.toField.addressField, - fromParams := * - }, //p_sip.request.msgHeader.fromField, - { - fieldName := TO_E, - addressField := p_sip.request.msgHeader.fromField.addressField, - toParams := * - } //p_sip.request.msgHeader.toField - )) + { mw_SipResponse(mw_ECO_200OK( + p_sip.request.msgHeader.cSeq, + p_sip.request.msgHeader.callId, + p_sip.request.msgHeader.fromField, + p_sip.request.msgHeader.toField + )) }, - { mw_SipRequest(mw_BYE_Request_Base) }, + { mw_SipResponse(mw_200OK_Base) }, { 0, omit }, - "TP_MW_IBCF_BYE_01 - Request", - true, + "TP_MX_ECSCF_200OK_BYE_01", + false, p_checkMessage ) ); p_monitorCompRef.done; - // Retrieve messge - f_getSipMsgFromMonitor(p_monitorCompRef, p_sip); } - } // End of function f_mtc_check_TP_MW_IBCF_ECO_BYE_01 + } // End of function f_mtc_check_TP_MX_ECSCF_ECO_200OK_BYE_01 - } // End of group imsBye - - group ims200OkBye { + } // End of group ims200OkBye + + group imsCancel { /** - * @desc Verify that the E-CSCF successfully processes a 200 (OK) BYE (Originating Leg). + * @desc Verify that the E-CSCF successfully processes a CANCEL from the P-CSCF for an Emergency Call under establishment and routes the request to the IBCF for a PSAP in another network * Initial conditions with { - * the UE_A entity isAttachedTo the EPC_A and - * the UE_B entity isAttachedTo the EPC_B and - * the UE_A entity isRegisteredTo the IMS_A and - * the UE_B entity isRegisteredTo the IMS_B + * the IMS_E_CSCF entity supportsRoutingTo the IMS_IBCF_A and + * the UE_A entity hasAchievedInitialEmergencyINVITE via the IMS_IBCF_A * } * * Expected behaviour * ensure that { * when { - * the IMS_E_CSCF_A entity sends a 200_Ok containing + * the IMS_E_CSCF_A entity receives a CANCEL containing * From indicating value PX_UE_A_SIP_URI, - * To indicating value PX_UE_B_SIP_URI, + * To indicating value PX_SIP_EMERGENCY_SERVICE_URN, * CallId indicating value PX_UE_A_CALLID, * Via indicating value PX_UE_A_VIA, - * Route indicating value PX_UE_A_SERVICE_ROUTE, - * not PChargingVector, - * not PChargingFunctionAddresses, - * not PPreferredIdentity - * to the IMS_IBCF_A entity + * Route indicating value PX_UE_A_SERVICE_ROUTE; + * from the IMS_P_CSCF_A entity * } * then { - * the IMS_E_CSCF_A entity sends a 200_Ok containing + * the IMS_E_CSCF_A entity sends a CANCEL containing * From indicating value PX_UE_A_SIP_URI, - * To indicating value PX_UE_B_SIP_URI, + * To indicating value PX_SIP_EMERGENCY_SERVICE_URN, * CallId indicating value PX_UE_A_CALLID, * Via indicating value PX_UE_A_VIA, - * Route indicating value PX_UE_A_SERVICE_ROUTE, - * not PChargingVector, - * not PChargingFunctionAddresses, - * not PPreferredIdentity - * to the IMS_P_CSCF_A entity + * Route indicating value PX_UE_A_SERVICE_ROUTE; + * to the IM_CN entity * } * } */ - function f_mtc_check_TP_MW_IBCF_200OK_BYE_01( - in SipInterfaceMonitor p_monitorCompRef, - in boolean p_checkMessage := false, - in SipMessage p_sip - ) runs on ImsTestCoordinator { + function f_mtc_check_TP_MX_ECSCF_EMC_CANCEL_01( + in SipInterfaceMonitor p_monitorCompRef, + in boolean p_checkMessage := false, + inout SipMessage p_sip + ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)) { - // Check the 200 OK BYE + // Check the CANCEL p_monitorCompRef.start( f_Iot_Sip_receive( - { mw_SipResponse(mw_200OK( - p_sip.request.msgHeader.cSeq, - p_sip.request.msgHeader.callId, - p_sip.request.msgHeader.fromField, - p_sip.request.msgHeader.toField - )) + { mw_SipRequest(mw_TP_MX_ECSCF_CANCEL_01( + p_sip.request.msgHeader.callId, + -, // New CSeq, + -, // FIXME To be set + p_sip.request.msgHeader.fromField, + p_sip.request.msgHeader.toField + )) }, - { mw_SipResponse(mw_200OK_Base) }, + { mw_SipRequest(mw_CANCEL_Request_Base) }, { 0, omit }, - "TP_MW_IBCF_200OK_BYE_01", - false, + "TP_MX_ECSCF_EMC_CANCEL_01 - Request", + true, p_checkMessage ) ); p_monitorCompRef.done; + // Retrieve messge + f_getSipMsgFromMonitor(p_monitorCompRef, p_sip); } - } // End of function f_mtc_check_TP_MW_IBCF_200OK_BYE_01 + } // End of function f_mtc_check_TP_MX_ECSCF_EMC_CANCEL_01 - } // End of group ims200OkBye + } // End of group imsCancel - group imsCancel { + group imsRequestTermination { - function f_mtc_check_TP_MW_IBCF_ECO_CANCEL_01( - in SipInterfaceMonitor p_monitorCompRef, - in boolean p_checkMessage := false, - inout SipMessage p_sip - ) runs on ImsTestCoordinator { + /** + * @desc Verify that the E-CSCF successfully processes a 487 response from the IBCF for a PSAP in another network for an Emergency Call and routes the response to the P-CSCF + * Initial conditions with { + * the IMS_E_CSCF entity supportsRoutingTo the IMS_IBCF_A and + * the UE_A entity previouslyEstablishedEmergencyCallWith the PSAP via IMS_IBCF_A + * } + * + * Expected behaviour + * ensure that { + * when { + * the IMS_E_CSCF_A entity receives a 487INVITE containing + * From indicating value PX_UE_A_SIP_URI, + * To indicating value PX_SIP_EMERGENCY_SERVICE_URN, + * CallId indicating value PX_UE_A_CALLID, + * Via indicating value PX_UE_A_VIA, + * Route indicating value PX_UE_A_SERVICE_ROUTE; + * from the IMS_IBCF_A entity + * } + * then { + * the IMS_E_CSCF_A entity sends a 480INVITE containing + * From indicating value PX_UE_A_SIP_URI, + * To indicating value PX_SIP_EMERGENCY_SERVICE_URN, + * CallId indicating value PX_UE_A_CALLID, + * Via indicating value PX_UE_A_VIA, + * Route indicating value PX_UE_A_SERVICE_ROUTE; + * to the IMS_P_CSCF_A entity + * } + * } + */ + function f_mtc_check_TP_MX_ECSCF_EMC_487INVITE_01( + in SipInterfaceMonitor p_monitorCompRef, + in boolean p_checkMessage := false, + inout SipMessage p_sip + ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)) { - // Check the CANCEL + // Check the 487 Request Terminated p_monitorCompRef.start( f_Iot_Sip_receive( - { mw_SipRequest(mw_TP_MW_IBCF_CANCEL_01( - p_sip.request.msgHeader.callId, - -, // New CSeq, - -, // FIXME To be set - { - fieldName := FROM_E, - addressField := p_sip.request.msgHeader.toField.addressField, - fromParams := * - }, //p_sip.request.msgHeader.fromField, - { - fieldName := TO_E, - addressField := p_sip.request.msgHeader.fromField.addressField, - toParams := * - } //p_sip.request.msgHeader.toField - )) + { + mw_SipResponse( + mw_487RequestTerminated( // TODO Enforce template + p_sip.request.msgHeader.callId, + -, // New CSeq + p_sip.request.msgHeader.fromField, + p_sip.request.msgHeader.toField, + omit + ) + ) + }, + { + mw_SipResponse(mdw_4XX_Base) }, - { mw_SipRequest(mw_CANCEL_Request_Base) }, { 0, omit }, - "TP_MW_IBCF_CANCEL_01 - Request", + "TP_MX_ECSCF_EMC_487INVITE_01", true, p_checkMessage ) @@ -797,45 +692,132 @@ module AtsImsIot_TP_behavior_MW_EB { // Retrieve messge f_getSipMsgFromMonitor(p_monitorCompRef, p_sip); } - } // End of function f_mtc_check_TP_MW_IBCF_ECO_CANCEL_01 - - } // End of group imsCancel + } // End of function f_mtc_check_TP_MX_ECSCF_EMC_487INVITE_01 + + } // End of group imsRequestTermination - group ims487Invite { + group imsTemporaryUnavailable { - function f_mtc_check_TP_MW_IBCF_ECO_487INVITE_01( - in SipInterfaceMonitor p_monitorCompRef, - in boolean p_checkMessage := false, - inout SipMessage p_sip - ) runs on ImsTestCoordinator { + /** + * @desc Verify that the E-CSCF successfully processes a 480 response from the IBCF for a PSAP in another network for an Emergency Call and routes the response to the P-CSCF + * Initial conditions with { + * the IMS_E_CSCF entity supportsRoutingTo the IMS_IBCF_A and + * the UE_A entity previouslyEstablishedEmergencyCallWith the PSAP via IMS_IBCF_A + * } + * + * Expected behaviour + * ensure that { + * when { + * the IMS_E_CSCF_A entity receives a 480INVITE containing + * From indicating value PX_UE_A_SIP_URI, + * To indicating value PX_SIP_EMERGENCY_SERVICE_URN, + * CallId indicating value PX_UE_A_CALLID, + * Via indicating value PX_UE_A_VIA, + * Route indicating value PX_UE_A_SERVICE_ROUTE; + * from the IMS_IBCF_A entity + * } + * then { + * the IMS_E_CSCF_A entity sends a 480INVITE containing + * From indicating value PX_UE_A_SIP_URI, + * To indicating value PX_SIP_EMERGENCY_SERVICE_URN, + * CallId indicating value PX_UE_A_CALLID, + * Via indicating value PX_UE_A_VIA, + * Route indicating value PX_UE_A_SERVICE_ROUTE; + * to the IMS_P_CSCF_A entity + * } + * } + */ + function f_mtc_check_TP_MX_ECSCF_ECO_480INVITE_01( + in SipInterfaceMonitor p_monitorCompRef, + in boolean p_checkMessage := false, + inout SipMessage p_sip + ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)) { - var charstring v_EUT_A_Addr := f_GetEUTScscfAddress_1();//f_GetEUTScscfAddress(PX_EUT_A); + // Check the 487 Request Terminated p_monitorCompRef.start( - f_Iot_Sip_receive( - { - mw_SipResponse( - mw_487RequestTerminated( // TODO Enforce template - p_sip.request.msgHeader.callId, - -, // New CSeq - p_sip.request.msgHeader.fromField, - p_sip.request.msgHeader.toField, - omit - ) - ) + f_Iot_Sip_receive( + { + mw_SipResponse(mw_480TemporaryUnavailable(-, p_sip.request.msgHeader.cSeq)) }, { mw_SipResponse(mdw_4XX_Base) }, { 0, omit }, - "TP_MW_IBCF_487INVITE_01", + "TP_MX_ECSCF_ECO_480INVITE_01", true, p_checkMessage ) ); p_monitorCompRef.done; + // Retrieve messge + f_getSipMsgFromMonitor(p_monitorCompRef, p_sip); + } + } // End of function f_mtc_check_TP_MX_ECSCF_ECO_480INVITE_01 + + } // End of group imsTemporaryUnavailable + + group ims3xxAny { + + /** + * @desc Verify that the LRF successfully processes a 3xx Any response on initial INVITE (Originating Leg). + * Initial conditions with { + * the UE_A entity isAttachedTo the EPC_A and + * the UE_B entity isAttachedTo the EPC_B and + * the UE_A entity isRegisteredTo the IMS_A and + * the UE_B entity isRegisteredTo the IMS_B + * } + * + * Expected behaviour + * ensure that { + * when { + * the IMS_LRF_A entity receives an INVITE containing + * From indicating value PX_UE_A_SIP_URI, + * To indicating value PX_UE_B_SIP_URI, + * CallId indicating value PX_UE_A_CALLID, + * Via indicating value PX_UE_A_VIA, + * Route indicating value PX_UE_A_SERVICE_ROUTE, + * Contact indicating value V_CONTACT + * ; + * from the IMS_EBCF_A entity + * } + * then { + * the IMS_LRF_A entity sends a 3xx Any containing + * From indicating value PX_UE_A_SIP_URI, + * To indicating value PX_UE_B_SIP_URI, + * CallId indicating value PX_UE_A_CALLID, + * Via indicating value PX_UE_A_VIA, + * Route indicating value PX_UE_A_SERVICE_ROUTE, + * Contact indicating value V_CONTACT + * ; + * to the IMS_EBCF_A entity + * } + * } + */ + function f_mtc_check_TP_MX_LRF_3xxAny_01( + in SipInterfaceMonitor p_monitorCompRef, + in boolean p_checkMessage := false, + in SipMessage p_sip + ) runs on ImsTestCoordinator { + if (isvalue(p_monitorCompRef)) { + // Check the 3xx Any + p_monitorCompRef.start( + f_Iot_Sip_receive( + { mw_SipResponse(mw_3xxContact( + p_sip.request.msgHeader.cSeq, + p_sip.request.msgHeader.accept + )) + }, + { mw_SipResponse(mdw_3XX_Base) }, + { 0, omit }, + "TP_MX_3xxAny_01", + false, + p_checkMessage + ) + ); + p_monitorCompRef.done; } - } // End of function f_mtc_check_TP_MW_IBCF_ECO_487INVITE_01 + } // End of function f_mtc_check_TP_MX_LRF_3xxAny_01 - } // End of group ims487Invite + } // End of group ims3xxAny -} // End of module AtsImsIot_TP_behavior_MW_EB \ No newline at end of file +} // End of module AtsImsIot_TP_behavior_MX diff --git a/ttcn/AtsImsIot/AtsImsIot_TP_behavior_Mx_LRF.ttcn b/ttcn/AtsImsIot/AtsImsIot_TP_behavior_Mx_LRF.ttcn deleted file mode 100644 index f38a038..0000000 --- a/ttcn/AtsImsIot/AtsImsIot_TP_behavior_Mx_LRF.ttcn +++ /dev/null @@ -1,98 +0,0 @@ -/** - * @author STF 574 - * @version $Id$ - * @desc This module provides the TP behaviour functions at Mw interface at S-CSCF/IBCF - */ - -module AtsImsIot_TP_behavior_Mx_LRF { - - // LibIms - import from LibIms_Templates all; - import from LibIms_UpperTester all; - // LibIot - import from LibIot_TypesAndValues all; - import from LibIot_Functions all; - import from LibIot_TestInterface all; - import from LibIot_PIXITS all; - // LibSip - import from LibSip_SIPTypesAndValues all; - import from LibSip_Templates all; - import from LibSip_Common all; - import from LibSip_SDPTypes all; - // LibMsrp - import from LibMsrp_TypesAndValues all; - import from LibMsrp_Functions all; - import from LibMsrp_Templates all; - // AtsImsIot - import from AtsImsIot_TestSystem all; - import from AtsImsIot_Templates all; - import from AtsImsIot_Templates_MW all; - import from AtsImsIot_Templates_ML all; - import from AtsImsIot_TypesAndValues all; - import from AtsImsIot_Functions all; - - group ims3xxAny { - - /** - * @desc Verify that the LRF successfully processes a 3xx Any response on initial INVITE (Originating Leg). - * Initial conditions with { - * the UE_A entity isAttachedTo the EPC_A and - * the UE_B entity isAttachedTo the EPC_B and - * the UE_A entity isRegisteredTo the IMS_A and - * the UE_B entity isRegisteredTo the IMS_B - * } - * - * Expected behaviour - * ensure that { - * when { - * the IMS_LRF_A entity receives an INVITE containing - * From indicating value PX_UE_A_SIP_URI, - * To indicating value PX_UE_B_SIP_URI, - * CallId indicating value PX_UE_A_CALLID, - * Via indicating value PX_UE_A_VIA, - * Route indicating value PX_UE_A_SERVICE_ROUTE, - * Contact indicating value V_CONTACT - * ; - * from the IMS_EBCF_A entity - * } - * then { - * the IMS_LRF_A entity sends a 3xx Any containing - * From indicating value PX_UE_A_SIP_URI, - * To indicating value PX_UE_B_SIP_URI, - * CallId indicating value PX_UE_A_CALLID, - * Via indicating value PX_UE_A_VIA, - * Route indicating value PX_UE_A_SERVICE_ROUTE, - * Contact indicating value V_CONTACT - * ; - * to the IMS_EBCF_A entity - * } - * } - */ - function f_mtc_check_TP_MX_LRF_3xxAny_01( - in SipInterfaceMonitor p_monitorCompRef, - in boolean p_checkMessage := false, - in SipMessage p_sip - ) runs on ImsTestCoordinator { - if (isvalue(p_monitorCompRef)) { - // Check the 3xx Any - p_monitorCompRef.start( - f_Iot_Sip_receive( - { mw_SipResponse(mw_3xxContact( - p_sip.request.msgHeader.cSeq, - p_sip.request.msgHeader.accept - )) - }, - { mw_SipResponse(mdw_3XX_Base) }, - { 0, omit }, - "TP_Mx_LRF_3xxAny_01", - false, - p_checkMessage - ) - ); - p_monitorCompRef.done; - } - } // End of function f_mtc_check_TP_MX_LRF_3xxAny_01 - - } // End of group ims3xxAny - -} // End of module AtsImsIot_TP_behavior_Mx_LRF diff --git a/ttcn/AtsImsIot/AtsImsIot_Templates_ML.ttcn b/ttcn/AtsImsIot/AtsImsIot_Templates_ML.ttcn index 47259fc..073ab4a 100644 --- a/ttcn/AtsImsIot/AtsImsIot_Templates_ML.ttcn +++ b/ttcn/AtsImsIot/AtsImsIot_Templates_ML.ttcn @@ -80,13 +80,4 @@ module AtsImsIot_Templates_ML { } } // End of template mw_TP_ML_ECSCF_3XX_Base_01 - template (present) Response mw_3xxContact( - template (present) CSeq p_cSeq := ?, - Accept p_accept) modifies mdw_3XX_Base := { - msgHeader := { - cSeq := p_cSeq, - accept := p_accept - } - } // End of template mw_3xxContact - } // End of module AtsImsIot_Templates_ML diff --git a/ttcn/AtsImsIot/AtsImsIot_Templates_MX.ttcn b/ttcn/AtsImsIot/AtsImsIot_Templates_MX.ttcn new file mode 100644 index 0000000..f2696c6 --- /dev/null +++ b/ttcn/AtsImsIot/AtsImsIot_Templates_MX.ttcn @@ -0,0 +1,225 @@ +/* + * @author STF 574 + * @version $Id$ + * @desc This module provides TP related templates used at MM interface + */ +module AtsImsIot_Templates_MX { + + // LibCommon + //import from LibCommon_BasicTypesAndValues all; + //import from LibCommon_VerdictControl all; + + // libSip + import from LibSip_SIPTypesAndValues all; + import from LibSip_MessageBodyTypes all; + import from LibSip_Templates all; + import from LibSip_Common all; + + // LibIms + import from LibIms_Templates all; + + //import from LibMsrp_TypesAndValues all; + + // LibIot + //import from LibIot_TypesAndValues all; + import from LibIot_PIXITS all; + + // AtsImsIot + //import from AtsImsIot_TypesAndValues all; + import from AtsImsIot_PIXITS all; + import from AtsImsIot_Templates all; + + /** + * @desc INVITE Request checking TP_MX_ECSCF_INVITE_01 + */ + template(present) INVITE_Request mw_TP_MX_ECSCF_INVITE_01 (template (present) SipUrl p_invite_uri := ?, + template (present) From p_from := ?, + template (present) To p_to := ?, + template (present) Contact p_contact := ?, + template (present) MessageBody p_messageBody := ?, + template (present) PAssertedID p_pAssertedID := ? + ) + modifies mw_INVITE_Request_Base := { + msgHeader := { + fromField := p_from, + toField := p_to, + route := ({ + fieldName := ROUTE_E, + routeBody := { + *, + complement(mw_routeBody(p_invite_uri)), + * + } + }, omit), + recordRoute := { + fieldName := RECORD_ROUTE_E, + routeBody := {mw_routeBody(p_invite_uri), *} + }, + contact := p_contact, + pAssertedID := p_pAssertedID + }, + messageBody := p_messageBody + } + + template(present) INVITE_Request mw_TP_MX_ECSCF_INVITE_02 (template (present) SipUrl p_invite_uri := ?, + template (present) From p_from := ?, + template (present) To p_to := ?, + template (present) Contact p_contact := ?, + template (present) MessageBody p_messageBody := ?, + template (present) PAssertedID p_pAssertedID := ? + ) + modifies mw_TP_MX_ECSCF_INVITE_01 := { + msgHeader := { + pChargingFunctionAddresses := omit + } + } + + template(present) INVITE_Request mw_TP_MX_ECSCF_INVITE_03 (template (present) SipUrl p_invite_uri := ?, + template (present) From p_from := ?, + template (present) To p_to := ?, + template (present) Contact p_contact := ?, + template (present) MessageBody p_messageBody := ?, + template (present) PAssertedID p_pAssertedID := ? + ) + modifies mw_TP_MX_ECSCF_INVITE_02 := { + } + + template (present) Response mw_TP_MX_ECSCF_100Trying_01( + template (present) CSeq p_cSeq := ?, + template (present) From p_from := ?, + template (present) To p_to := ? + ) modifies mw_100Trying_Base := { + msgHeader := { + cSeq := p_cSeq, + fromField := p_from, + toField := p_to + } + } // End of template mw_TP_MX_ECSCF_100Trying_01 + + template (present) Response mw_TP_MX_ECSCF_180Ringing_01( + template (present) CSeq p_cSeq := ?, + template (present) From p_from := ?, + template (present) To p_to := ? + ) modifies mw_180Ringing_Base := { + msgHeader := { + cSeq := p_cSeq, + fromField := p_from, + toField := p_to + } + } // End of template mw_TP_MX_ECSCF_180Ringing_01 + + template (present) Response mw_TP_MX_ECSCF_183SessionProgress_01( + template (present) CSeq p_cSeq := ?, + template (present) From p_from := ?, + template (present) To p_to := ? + ) modifies mw_183SessionProgress_Base := { + msgHeader := { + cSeq := p_cSeq, + fromField := p_from, + toField := p_to + } + } // End of template mw_TP_MX_ECSCF_183SessionProgress_01 + + template (present) ACK_Request mw_TP_MX_ECSCF_ACK_01( // TODO To be enforced + template (present) CallId p_callId := ?, + template (present) CSeq p_cSeq := ?, + template (present) SipUrl p_ack_uri := ?, + template (present) From p_from := ?, + template (present) To p_to := ? + ) modifies mw_ACK_Request_Base := { + requestLine := { + method := ACK_E, + requestUri := p_ack_uri, // @TODO + sipVersion := c_sipNameVersion + }, + msgHeader := { + callId := p_callId, + fromField := p_from, + toField := p_to, + route := { + fieldName := ROUTE_E, + routeBody := { + *, + ?, + * + } + } + } + } // End of template mw_TP_MX_ECSCF_ACK_01 + + template (present) BYE_Request mw_TP_MX_ECSCF_BYE_01( // TODO To be enforced + template (present) CallId p_callId := ?, + template (present) CSeq p_cSeq := ?, + template (present) SipUrl p_bye_uri := ?, + template (present) From p_from := ?, + template (present) To p_to := ? + ) modifies mw_BYE_Request_Base := { + requestLine := { + method := BYE_E, + requestUri := p_bye_uri, // @TODO + sipVersion := c_sipNameVersion + }, + msgHeader := { + callId := p_callId, + fromField := p_from, + toField := p_to, + route := { + fieldName := ROUTE_E, + routeBody := { + *, + ?, + * + } + } + } + } // End of template mw_TP_MX_ECSCF_BYE_01 + + template (present) BYE_Request mw_TP_MX_ECSCF_BYE_02( // TODO To be enforced + template (present) CallId p_callId := ?, + template (present) CSeq p_cSeq := ?, + template (present) SipUrl p_bye_uri := ?, + template (present) From p_from := ?, + template (present) To p_to := ? + ) modifies mw_TP_MX_ECSCF_BYE_01 := { + msgHeader := { + route := * + } + } // End of template mw_TP_MX_ECSCF_BYE_02 + + template (present) CANCEL_Request mw_TP_MX_ECSCF_CANCEL_01( // TODO To be enforced + template (present) CallId p_callId := ?, + template (present) CSeq p_cSeq := ?, + template (present) SipUrl p_bye_uri := ?, + template (present) From p_from := ?, + template (present) To p_to := ? + ) modifies mw_CANCEL_Request_Base := { + requestLine := { + method := CANCEL_E, + requestUri := p_bye_uri, // @TODO + sipVersion := c_sipNameVersion + }, + msgHeader := { + callId := p_callId, + fromField := p_from, + toField := p_to, + route := { + fieldName := ROUTE_E, + routeBody := { + *, + ?, + * + } + } + } + } // End of template mw_TP_MX_ECSCF_CANCEL_01 + + template (present) Response mw_3xxContact( + template (present) CSeq p_cSeq := ?, + Accept p_accept) modifies mdw_3XX_Base := { + msgHeader := { + cSeq := p_cSeq, + accept := p_accept + } + } // End of template mw_3xxContact + +} // End of module AtsImsIot_Templates_MX -- GitLab From 67614c819bf9fbd3bcd9d17881e67ae95991ada7 Mon Sep 17 00:00:00 2001 From: garciay Date: Tue, 19 Sep 2023 15:25:07 +0200 Subject: [PATCH 10/32] Add TC_VoLTE_ECO_INT_DTC_02_xx --- ttcn/AtsImsIot/AtsImsIot_Emergency.ttcn | 617 ++++++++++++++++-------- 1 file changed, 416 insertions(+), 201 deletions(-) diff --git a/ttcn/AtsImsIot/AtsImsIot_Emergency.ttcn b/ttcn/AtsImsIot/AtsImsIot_Emergency.ttcn index 02c6b72..25a74fb 100644 --- a/ttcn/AtsImsIot/AtsImsIot_Emergency.ttcn +++ b/ttcn/AtsImsIot/AtsImsIot_Emergency.ttcn @@ -43,121 +43,121 @@ module AtsImsIot_Emergency { import from AtsImsIot_PIXITS all; /** - * @see ETSI TS 103 795-2 Clause 5 Test Descriptions (Interoperability at HPLMN) + * @see ETSI TS 103 795-2 Clause 5 Test Descriptions (Interoperability at HPLMN) */ group Interoperability { /** - * @see ETSI TS 103 795-2 Clause 5.1 Network Attachment + * @see ETSI TS 103 795-2 Clause 5.1 Network Attachment */ group NetworkAttachment { group UENetworkAttachmentWithUSIM { - /** - * @desc Emergency Network Attachment and Establishment of the Emergency Bearer with USIM. - * On successful emergency attachment, the UE/IVS should discover the P-CSCF IP address. - * The EPC will create the Emergency Bearers which will allow communication only between the UE and the P-CSCF - * and allowed forwarding towards E-CSCF - * @see TS 124 229 [2], clause 9.2.1 and L.2.2.6; TS 129 212 [7], clauses 4.5.15 and 4a.5.12; - * TS 129 272 [8], clause 5.2.1.1 (MME shall proceed even if Update Location fails) - * - */ - testcase TC_VoLTE_ECO_INT_ATT_01 ( ) runs on ImsTestCoordinator system IotSystemInterface { - - var IotEquipmentUser v_ueA := f_cf_create_IotEquipmentUser ( c_userUE_A ); - var ImsUserInfo v_userInfoA := f_getImUser ( PX_EUT_A ); - - f_setVxLteMonIterfacesAvailability(); - //Check required monitor interfaces due to TD - if (f_checkVxLteRequiredMonitorInterface({PX_DIAMETER_GX_INTERFACENAME,PX_DIAMETER_S6A_INTERFACENAME})){ - f_cf_createVxLteMonitor(); - - // map/connect component ports - f_cf_adapter_up ( ); - f_cf_user_up ( v_ueA ); - f_cf_VxLteMonitor_Up(); - - // preamble - f_mtc_userRadioEnabled ( v_ueA, true, true ); // UA-A trigger an initial network_attachment by enabling radio interface of its mobile - - // test body - // Check that user A starts initial network attachment - f_mtc_check_TP_S6A_MME_ULR_01 ( vc_vxlte_monitor_components.s6a, true ); // Check (ULR – Event 2) - f_mtc_check_TP_S6A_HSS_ECO_ULA_01 ( vc_vxlte_monitor_components.s6a); // Check (ULA – Event 3) - f_mtc_check_TP_GX_PCRF_ECO_CCA_01 ( vc_vxlte_monitor_components.gx); // Check (CCR, CCA – Events 4, 5) - - // postamble - f_mtc_userRadioEnabled ( v_ueA, false, true ); - - //unmap/disconnect component ports - f_cf_user_down ( v_ueA ); - f_cf_VxLteMonitor_Down(); - f_cf_adapter_down ( ); - }else{ - //log... - setverdict (inconc,"At least one required monitor interface SHALL be selected! Check PIXITs") - } - } // End of TC TC_VoLTE_ECO_INT_ATT_01 + /** + * @desc Emergency Network Attachment and Establishment of the Emergency Bearer with USIM. + * On successful emergency attachment, the UE/IVS should discover the P-CSCF IP address. + * The EPC will create the Emergency Bearers which will allow communication only between the UE and the P-CSCF + * and allowed forwarding towards E-CSCF + * @see TS 124 229 [2], clause 9.2.1 and L.2.2.6; TS 129 212 [7], clauses 4.5.15 and 4a.5.12; + * TS 129 272 [8], clause 5.2.1.1 (MME shall proceed even if Update Location fails) + * + */ + testcase TC_VoLTE_ECO_INT_ATT_01 ( ) runs on ImsTestCoordinator system IotSystemInterface { + + var IotEquipmentUser v_ueA := f_cf_create_IotEquipmentUser ( c_userUE_A ); + var ImsUserInfo v_userInfoA := f_getImUser ( PX_EUT_A ); + + f_setVxLteMonIterfacesAvailability(); + //Check required monitor interfaces due to TD + if (f_checkVxLteRequiredMonitorInterface({PX_DIAMETER_GX_INTERFACENAME,PX_DIAMETER_S6A_INTERFACENAME})){ + f_cf_createVxLteMonitor(); + + // map/connect component ports + f_cf_adapter_up ( ); + f_cf_user_up ( v_ueA ); + f_cf_VxLteMonitor_Up(); + + // preamble + f_mtc_userRadioEnabled ( v_ueA, true, true ); // UA-A trigger an initial network_attachment by enabling radio interface of its mobile + + // test body + // Check that user A starts initial network attachment + f_mtc_check_TP_S6A_MME_ULR_01 ( vc_vxlte_monitor_components.s6a, true ); // Check (ULR – Event 2) + f_mtc_check_TP_S6A_HSS_ECO_ULA_01 ( vc_vxlte_monitor_components.s6a); // Check (ULA – Event 3) + f_mtc_check_TP_GX_PCRF_ECO_CCA_01 ( vc_vxlte_monitor_components.gx); // Check (CCR, CCA – Events 4, 5) + + // postamble + f_mtc_userRadioEnabled ( v_ueA, false, true ); + + //unmap/disconnect component ports + f_cf_user_down ( v_ueA ); + f_cf_VxLteMonitor_Down(); + f_cf_adapter_down ( ); + }else{ + //log... + setverdict (inconc,"At least one required monitor interface SHALL be selected! Check PIXITs") + } + } // End of TC TC_VoLTE_ECO_INT_ATT_01 } // End of group UENetworkAttachmentWithUSIM group UENetworkAttachmentWithoutUSIM { - /** - * @desc Emergency Network Attachment and Establishment of the Emergency Bearer without USIM. - * On successful emergency attachment, the UE/IVS should discover the P-CSCF IP address. - * The EPC will create the Emergency Bearers which will allow communication only between the UE and the P-CSCF - * and allowed forwarding towards E-CSCF - * @see TS 124 229 [2], clause 9.2.1 and L.2.2.6; TS 129 212 [7], clauses 4.5.15 and 4a.5.12; - * TS 129 272 [8], clause 5.2.1.1 (MME shall proceed even if Update Location fails) - * - */ - testcase TC_VoLTE_EMC_INT_ATT_02 ( ) runs on ImsTestCoordinator system IotSystemInterface { - - var IotEquipmentUser v_ueA := f_cf_create_IotEquipmentUser ( c_userUE_A ); - var ImsUserInfo v_userInfoA := f_getImUser ( PX_EUT_A ); - - f_setVxLteMonIterfacesAvailability(); - //Check required monitor interfaces due to TD - if (f_checkVxLteRequiredMonitorInterface({PX_DIAMETER_GX_INTERFACENAME,PX_DIAMETER_S6A_INTERFACENAME})){ - f_cf_createVxLteMonitor(); - - // map/connect component ports - f_cf_adapter_up ( ); - f_cf_user_up ( v_ueA ); - f_cf_VxLteMonitor_Up(); - - // preamble - f_mtc_userRadioEnabled ( v_ueA, true, true ); // UA-A trigger an initial network_attachment by enabling radio interface of its mobile - - // test body - // Check that user A starts initial network attachment - f_mtc_check_TP_S6A_MME_ULR_01 ( vc_vxlte_monitor_components.s6a, true ); // Check (ULR – Event 2) - f_mtc_check_TP_S6A_HSS_ECO_ULA_01 ( vc_vxlte_monitor_components.s6a); // Check (ULA – Event 3) - f_mtc_check_TP_GX_PCRF_EMC_CCA_01 ( vc_vxlte_monitor_components.gx); // Check (CCR, CCA – Events 4, 5) - - // postamble - f_mtc_userRadioEnabled ( v_ueA, false, true ); - - //unmap/disconnect component ports - f_cf_user_down ( v_ueA ); - f_cf_VxLteMonitor_Down(); - f_cf_adapter_down ( ); - }else{ - //log... - setverdict (inconc,"At least one required monitor interface SHALL be selected! Check PIXITs") - } - } // End of TC TC_VoLTE_ECO_INT_ATT_02 + /** + * @desc Emergency Network Attachment and Establishment of the Emergency Bearer without USIM. + * On successful emergency attachment, the UE/IVS should discover the P-CSCF IP address. + * The EPC will create the Emergency Bearers which will allow communication only between the UE and the P-CSCF + * and allowed forwarding towards E-CSCF + * @see TS 124 229 [2], clause 9.2.1 and L.2.2.6; TS 129 212 [7], clauses 4.5.15 and 4a.5.12; + * TS 129 272 [8], clause 5.2.1.1 (MME shall proceed even if Update Location fails) + * + */ + testcase TC_VoLTE_EMC_INT_ATT_02 ( ) runs on ImsTestCoordinator system IotSystemInterface { + + var IotEquipmentUser v_ueA := f_cf_create_IotEquipmentUser ( c_userUE_A ); + var ImsUserInfo v_userInfoA := f_getImUser ( PX_EUT_A ); + + f_setVxLteMonIterfacesAvailability(); + //Check required monitor interfaces due to TD + if (f_checkVxLteRequiredMonitorInterface({PX_DIAMETER_GX_INTERFACENAME,PX_DIAMETER_S6A_INTERFACENAME})){ + f_cf_createVxLteMonitor(); + + // map/connect component ports + f_cf_adapter_up ( ); + f_cf_user_up ( v_ueA ); + f_cf_VxLteMonitor_Up(); + + // preamble + f_mtc_userRadioEnabled ( v_ueA, true, true ); // UA-A trigger an initial network_attachment by enabling radio interface of its mobile + + // test body + // Check that user A starts initial network attachment + f_mtc_check_TP_S6A_MME_ULR_01 ( vc_vxlte_monitor_components.s6a, true ); // Check (ULR – Event 2) + f_mtc_check_TP_S6A_HSS_ECO_ULA_01 ( vc_vxlte_monitor_components.s6a); // Check (ULA – Event 3) + f_mtc_check_TP_GX_PCRF_EMC_CCA_01 ( vc_vxlte_monitor_components.gx); // Check (CCR, CCA – Events 4, 5) + + // postamble + f_mtc_userRadioEnabled ( v_ueA, false, true ); + + //unmap/disconnect component ports + f_cf_user_down ( v_ueA ); + f_cf_VxLteMonitor_Down(); + f_cf_adapter_down ( ); + }else{ + //log... + setverdict (inconc,"At least one required monitor interface SHALL be selected! Check PIXITs") + } + } // End of TC TC_VoLTE_ECO_INT_ATT_02 } // End of group UENetworkAttachmentWithoutUSIM } // End of group NetworkAttachment /** - * @see ETSI TS 103 795-2 Clause 5.2 IMS Emergency Registration + * @see ETSI TS 103 795-2 Clause 5.2 IMS Emergency Registration */ group EmergencyRegistration { /** * @desc To perform emergency registration via the established emergency bearer. Note that some UEs perform emergency registration automatically on attachment - in which case this test becomes merged with the previous ones. - * @see ETSI TS 103 795-2 Clause 5.2.1 IMS Emergency Registration - Successful + * @see ETSI TS 103 795-2 Clause 5.2.1 IMS Emergency Registration - Successful */ testcase TD_VoLTE_ECO_INT_REG_01() runs on ImsTestCoordinator system IotSystemInterface { @@ -215,7 +215,7 @@ module AtsImsIot_Emergency { /** * @desc To attempt initial emergency registration via the established emergency bearer. In this case, the emergency registration is not successful due to not accepted UE credentials. Emergency call can be established without emergency registration. - * @see ETSI TS 103 795-2 Clause 5.2.2 IMS Emergency Registration - Unsuccessful + * @see ETSI TS 103 795-2 Clause 5.2.2 IMS Emergency Registration - Unsuccessful */ testcase TD_VoLTE_ECO_INT_REG_02() runs on ImsTestCoordinator system IotSystemInterface { @@ -274,7 +274,7 @@ module AtsImsIot_Emergency { } // End of group EmergencyRegistration /** - * @see ETSI TS 103 795-2 Clause 5.3 Emergency Session and Emergency Bearer Operations + * @see ETSI TS 103 795-2 Clause 5.3 Emergency Session and Emergency Bearer Operations */ group EmergencySessionEmergencyBearerOperations { @@ -283,7 +283,7 @@ module AtsImsIot_Emergency { /** * @desc To demonstrate the establishment of dedicated bearers at the originating EPC due to SIP emergency session establishment within an emergency registration. * PSAP is located in the IM CN subsystem of IMS A - * @see ETSI TS 103 795-2 Clause 5.3.1.2 UE calling PSAP with emergency registration + * @see ETSI TS 103 795-2 Clause 5.3.1.2 UE calling PSAP with emergency registration */ testcase TD_VoLTE_ECO_INT_INI_01() runs on ImsTestCoordinator system IotSystemInterface { @@ -401,7 +401,7 @@ module AtsImsIot_Emergency { /** * @desc To demonstrate the establishment of dedicated bearers at the originating EPC due to SIP emergency session session establishment within non-emergency registration. * PSAP is located in the IM CN subsystem of IMS A. - * @see ETSI TS 103 795-2 Clause 5.3.1.3 UE calling PSAP with non-emergency registration + * @see ETSI TS 103 795-2 Clause 5.3.1.3 UE calling PSAP with non-emergency registration * @remark This is option2: IBCF is connected to the PSAP, the interface IBCF and the PSAP is the Mm interface */ testcase TD_VoLTE_ECO_INT_INI_02() runs on ImsTestCoordinator system IotSystemInterface { @@ -518,7 +518,7 @@ module AtsImsIot_Emergency { /** * @desc To demonstrate the establishment of emergency bearers at the originating EPC due to SIP emergency session establishment without any registration. * PSAP is located in the IM CN subsystem of IMS A. - * @see ETSI TS 103 795-2 Clause 5.3.1.4 UE calling PSAP without any registration + * @see ETSI TS 103 795-2 Clause 5.3.1.4 UE calling PSAP without any registration */ testcase TD_VoLTE_ECO_INT_INI_03() runs on ImsTestCoordinator system IotSystemInterface { @@ -754,7 +754,7 @@ module AtsImsIot_Emergency { /** * @desc To demonstrate the establishment of dedicated bearers at the originating EPC due to SIP emergency session establishment within an emergency registration. * PSAP is located in the IM CN subsystem of another network connected via IBCF. - * @see ETSI TS 103 795-2 Clause 5.3.1.6 UE calling PSAP in other network via IBCF + * @see ETSI TS 103 795-2 Clause 5.3.1.6 UE calling PSAP in other network via IBCF */ testcase TD_VoLTE_ECO_INT_INI_05 ( ) runs on ImsTestCoordinator system IotSystemInterface { @@ -886,7 +886,7 @@ module AtsImsIot_Emergency { /** * @desc To demonstrate the establishment of dedicated bearers at the originating EPC due to SIP emergency session establishment within an emergency registration. * PSAP is located in the IM CN subsystem of another network vonnected via IBCF. The PSAP URI is delivered by the LRF. - * @see ETSI TS 103 795-2 Clause 5.3.1.7 UE calling PSAP in other network via IBCF, LRF derived PSAP URI + * @see ETSI TS 103 795-2 Clause 5.3.1.7 UE calling PSAP in other network via IBCF, LRF derived PSAP URI * @remark This is option2: IBCF is connected to the PSAP, the interface IBCF and the PSAP is the Mm interface */ testcase TD_VoLTE_ECO_INT_INI_06() runs on ImsTestCoordinator system IotSystemInterface { @@ -1026,7 +1026,7 @@ module AtsImsIot_Emergency { /** * @desc To demonstrate the establishment of dedicated bearers at the originating EPC due to SIP emergency session establishment within an emergency registration. * PSAP is located in the PSTN connected via BGCF. - * @see ETSI TS 103 795-2 Clause 5.3.1.8 UE calling PSAP in PSTN via BGCF + * @see ETSI TS 103 795-2 Clause 5.3.1.8 UE calling PSAP in PSTN via BGCF */ testcase TD_VoLTE_ECO_INT_INI_07() runs on ImsTestCoordinator system IotSystemInterface { @@ -1151,7 +1151,7 @@ module AtsImsIot_Emergency { /** * @desc To demonstrate the establishment of dedicated bearers at the originating EPC due to SIP emergency session establishment within an emergency registration. * PSAP is located in the PSTN connected via BGCF. The PSAP URI is delivered by the LRF - * @see ETSI TS 103 795-2 Clause 5.3.1.9 UE calling PSAP in PSTN via BGCF, LRF derived PSAP URI + * @see ETSI TS 103 795-2 Clause 5.3.1.9 UE calling PSAP in PSTN via BGCF, LRF derived PSAP URI */ testcase TD_VoLTE_ECO_INT_INI_08() runs on ImsTestCoordinator system IotSystemInterface { @@ -1287,7 +1287,7 @@ module AtsImsIot_Emergency { /** * @desc - * @see ETSI TS 103 795-2 Clause 5.3.1.10 UE calling PSAP over AS with non-emergency registration + * @see ETSI TS 103 795-2 Clause 5.3.1.10 UE calling PSAP over AS with non-emergency registration */ testcase TD_VoLTE_ECO_INT_INI_09() runs on ImsTestCoordinator system IotSystemInterface { @@ -1361,7 +1361,7 @@ module AtsImsIot_Emergency { /** * @desc To demonstrate that if an emergency call has been terminated, the attempt by the PSAP call taker to communicate back to the emergency caller shall be answered. - * @see ETSI TS 103 795-2 Clause 5.3.1.11 Callback from PSAP + * @see ETSI TS 103 795-2 Clause 5.3.1.11 Callback from PSAP * @remark Ipetion 1: PSAP in IMS A */ testcase TD_VoLTE_ECO_INT_INI_10_01() runs on ImsTestCoordinator system IotSystemInterface { @@ -1461,7 +1461,7 @@ module AtsImsIot_Emergency { /** * @desc To demonstrate that if an emergency call has been terminated, the attempt by the PSAP call taker to communicate back to the emergency caller shall be answered. - * @see ETSI TS 103 795-2 Clause 5.3.1.11 Callback from PSAP + * @see ETSI TS 103 795-2 Clause 5.3.1.11 Callback from PSAP * @remark Ipetion 1: PSAP NOT in IMS A */ testcase TD_VoLTE_ECO_INT_INI_10_02() runs on ImsTestCoordinator system IotSystemInterface { @@ -1566,7 +1566,7 @@ module AtsImsIot_Emergency { /** * @desc To demonstrate that if an emergency call has been terminated, the attempt by the PSAP call taker to communicate back to the emergency caller shall be answered. - * @see ETSI TS 103 795-2 Clause 5.3.1.11 Callback from PSAP + * @see ETSI TS 103 795-2 Clause 5.3.1.11 Callback from PSAP * @remark Ipetion 1: PSAP in PSTN A */ testcase TD_VoLTE_ECO_INT_INI_10_03() runs on ImsTestCoordinator system IotSystemInterface { @@ -1680,7 +1680,7 @@ module AtsImsIot_Emergency { /** * @desc To perform originating UE session release and the tear down of related dedicated bearers. - * @see ETSI TS 103 795-2 Clause 5.3.3.1 UE Initiated Emergency Session Release + * @see ETSI TS 103 795-2 Clause 5.3.3.1 UE Initiated Emergency Session Release * @remark This is option 1: PSAP is in IMS A network */ testcase TD_VoLTE_EMC_INT_REL_01_01() runs on ImsTestCoordinator system IotSystemInterface { @@ -1720,8 +1720,6 @@ module AtsImsIot_Emergency { f_mtc_userInitiateCall (v_ueA, v_infoPsap); // Event 1 // Test body - //f_mtc_userInitiateCall (v_ueA, v_userTelInfoB); - f_mtc_check_TP_GM_PCSCF_ECO_BYE_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 2 f_mtc_check_TP_MW_PCSCF_ECO_BYE_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 3 f_mtc_check_TP_MM_ECSCF_ECO_BYE_01(vc_vxlte_monitor_components.mmB_PSAP, -, v_sip); // Event 4 @@ -1766,7 +1764,7 @@ module AtsImsIot_Emergency { /** * @desc To perform originating UE session release and the tear down of related dedicated bearers. - * @see ETSI TS 103 795-2 Clause 5.3.3.1 UE Initiated Emergency Session Release + * @see ETSI TS 103 795-2 Clause 5.3.3.1 UE Initiated Emergency Session Release * @remark This is option 2: PSAP is not in IMS A network */ testcase TD_VoLTE_EMC_INT_REL_01_02 ( ) runs on ImsTestCoordinator system IotSystemInterface { @@ -1852,7 +1850,7 @@ module AtsImsIot_Emergency { /** * @desc To perform originating UE session release and the tear down of related dedicated bearers. - * @see ETSI TS 103 795-2 Clause 5.3.3.1 UE Initiated Emergency Session Release + * @see ETSI TS 103 795-2 Clause 5.3.3.1 UE Initiated Emergency Session Release * @remark This is option 3: PSAP is in PSTN network */ testcase TD_VoLTE_EMC_INT_REL_01_03() runs on ImsTestCoordinator system IotSystemInterface { @@ -1938,7 +1936,7 @@ module AtsImsIot_Emergency { /** * @desc To perform originating PSAP session release and the tear down of related dedicated bearers. - * @see ETSI TS 103 795-2 Clause 5.3.3.2 PSAP Initiated Emergency Session Release + * @see ETSI TS 103 795-2 Clause 5.3.3.2 PSAP Initiated Emergency Session Release * @remark This is option 1: PSAP is in IMS A network */ testcase TD_VoLTE_ECO_INT_REL_02_01() runs on ImsTestCoordinator system IotSystemInterface { @@ -2025,7 +2023,7 @@ module AtsImsIot_Emergency { /** * @desc To perform originating PSAP session release and the tear down of related dedicated bearers. - * @see ETSI TS 103 795-2 Clause 5.3.3.2 PSAP Initiated Emergency Session Release + * @see ETSI TS 103 795-2 Clause 5.3.3.2 PSAP Initiated Emergency Session Release * @remark This is option2: PSAP is not in IMS A network */ testcase TD_VoLTE_ECO_INT_REL_02_02() runs on ImsTestCoordinator system IotSystemInterface { @@ -2116,7 +2114,7 @@ module AtsImsIot_Emergency { /** * @desc To perform originating PSAP session release and the tear down of related dedicated bearers. * On call release initiated bye PSAP, the P-CSCF A should trigger the removal of all relevant previously created bearers - * @see ETSI TS 103 795-2 Clause 5.3.3.2 PSAP Initiated Emergency Session Release + * @see ETSI TS 103 795-2 Clause 5.3.3.2 PSAP Initiated Emergency Session Release * @remark This is option2: PSAP is in the same network */ testcase TD_VoLTE_ECO_INT_REL_02_03() runs on ImsTestCoordinator system IotSystemInterface { @@ -2209,7 +2207,7 @@ module AtsImsIot_Emergency { /** * @desc To perform SIP session abort (originating side) and the related interactions with PCRF A and EPC A. - * @see ETSI TS 103 795-2 Clause 5.3.4.1 Emergency Session Abort + * @see ETSI TS 103 795-2 Clause 5.3.4.1 Emergency Session Abort * @remark This is option 1: PSAP is in IMS A network */ testcase TD_VoLTE_EMC_INT_ABT_01_01() runs on ImsTestCoordinator system IotSystemInterface { @@ -2302,7 +2300,7 @@ module AtsImsIot_Emergency { /** * @desc To perform SIP session abort (originating side) and the related interactions with PCRF A and EPC A. - * @see ETSI TS 103 795-2 Clause 5.3.4.1 Emergency Session Abort + * @see ETSI TS 103 795-2 Clause 5.3.4.1 Emergency Session Abort * @remark This is option 1: PSAP is not in IMS A network */ testcase TD_VoLTE_EMC_INT_ABT_01_02() runs on ImsTestCoordinator system IotSystemInterface { @@ -2402,7 +2400,7 @@ module AtsImsIot_Emergency { /** * @desc To perform SIP session abort (originating side) and the related interactions with PCRF A and EPC A. - * @see ETSI TS 103 795-2 Clause 5.3.4.1 Emergency Session Abort + * @see ETSI TS 103 795-2 Clause 5.3.4.1 Emergency Session Abort * @remark This is option 1: PSAP is in PSTN network */ testcase TD_VoLTE_EMC_INT_ABT_01_03() runs on ImsTestCoordinator system IotSystemInterface { @@ -2501,7 +2499,7 @@ module AtsImsIot_Emergency { /** * @desc To demonstrate interaction between UE A and PSAP when an emergency session is rejected. - * @see ETSI TS 103 795-2 5.3.4.3 Emergency Session Reject + * @see ETSI TS 103 795-2 5.3.4.3 Emergency Session Reject * @remark This is option 1: PSAP is in IMS A network */ testcase TD_VoLTE_ECO_INT_REJ_01_01() runs on ImsTestCoordinator system IotSystemInterface { @@ -2608,7 +2606,7 @@ module AtsImsIot_Emergency { /** * @desc To demonstrate interaction between UE A and PSAP when an emergency session is rejected. - * @see ETSI TS 103 795-2 5.3.4.3 Emergency Session Reject + * @see ETSI TS 103 795-2 5.3.4.3 Emergency Session Reject * @remark This is option 1: PSAP is not in IMS A network */ testcase TD_VoLTE_ECO_INT_REJ_01_02() runs on ImsTestCoordinator system IotSystemInterface { @@ -2715,7 +2713,7 @@ module AtsImsIot_Emergency { /** * @desc To demonstrate interaction between UE A and PSAP when an emergency session is rejected. - * @see ETSI TS 103 795-2 5.3.4.3 Emergency Session Reject + * @see ETSI TS 103 795-2 5.3.4.3 Emergency Session Reject * @remark This is option 1: PSAP is in PSTN network */ testcase TD_VoLTE_ECO_INT_REJ_01_03() runs on ImsTestCoordinator system IotSystemInterface { @@ -2823,7 +2821,7 @@ module AtsImsIot_Emergency { /** * @desc To demonstrate interaction between UE A and P-CSCF when an emergency session is rejected. - * @see ETSI TS 103 795-2 Clause 5.3.3.3 Emergency Session Reject - IMS not able to handle emergency sessions + * @see ETSI TS 103 795-2 Clause 5.3.3.3 Emergency Session Reject - IMS not able to handle emergency sessions */ testcase TD_VoLTE_ECO_INT_REJ_02() runs on ImsTestCoordinator system IotSystemInterface { @@ -2890,7 +2888,7 @@ module AtsImsIot_Emergency { /** * @desc To demonstrate interaction between UE A and P-CSCF when an emergency session is rejected due to wrong urn - * @see ETSI TS 103 795-2 Clause 5.3.3.4 Emergency Session Reject – due to wrong urn + * @see ETSI TS 103 795-2 Clause 5.3.3.4 Emergency Session Reject – due to wrong urn */ testcase TD_VoLTE_ECO_INT_REJ_03() runs on ImsTestCoordinator system IotSystemInterface { @@ -2960,86 +2958,303 @@ module AtsImsIot_Emergency { } // End of group EmergencySessionEmergencyBearerOperations /** - * @see ETSI TS 103 795-2 Clause 5.5 Emergency Network Detachment + * @see ETSI TS 103 795-2 Clause 5.5 Emergency Network Detachment */ group EmergencyNetworkDetachment { group EmergencySessionDetachment { - /** - * @desc To demonstrate UE initiated network emergency detachment (IP-CAN session termination) for a UE that has not yet emergency registered to the IMS or for UE that has been emergency registered to the IMS - * @see ETSI TS 103 795-2 Clause 5.5.1 UE Emergency Network Detachment (with/without Emergency Registration) - */ - testcase TC_VoLTE_ECO_INT_DTC_01 ( ) runs on ImsTestCoordinator system IotSystemInterface { - - var IotEquipmentUser v_ueA := f_cf_create_IotEquipmentUser ( c_userUE_A ); - var ImsUserInfo v_userInfoA := f_getImUser ( PX_EUT_A ); - - f_setVxLteMonIterfacesAvailability(); - //Check required monitor interfaces due to TD - if (f_checkVxLteRequiredMonitorInterface({PX_DIAMETER_GX_INTERFACENAME})){ - f_cf_createVxLteMonitor(); - - // map/connect component ports - f_cf_adapter_up ( ); - f_cf_user_up ( v_ueA ); - f_cf_VxLteMonitor_Up(); - - //preamble - f_mtc_userRadioEnabled ( v_ueA, true, true ); // UA-A trigger an initial network_attachment by enabling radio interface of its mobile - f_mtc_userRadioEnabled ( v_ueA, false, true ); - // test body - // Check that user A starts initial network attachment - f_mtc_check_TP_GX_PCRF_EMC_CCA_01(vc_vxlte_monitor_components.gx, false);//f_mtc_check_TP_GX_PCRF_ECO_CCA_02 ( vc_vxlte_monitor_components.gx, false ); // Check (CCA – Event 3) - - //postamble - - //unmap/disconnect component ports - f_cf_user_down ( v_ueA ); - f_cf_VxLteMonitor_Down(); - f_cf_adapter_down ( ); - }else{ - //log... - setverdict (inconc,"At least one required monitor interface SHALL be selected! Check PIXITs") - } - } // End of TC TC_VoLTE_ECO_INT_DTC_01 - - /** - * @desc To demonstrate UE initiated emergency network detachment (emergency IP-CAN session termination) for a UE that is emergency registered to IMS and also has active emergency session - * @see ETSI TS 103 795-2 Clause 5.5.2 UE Emergency Network Detachment with Previously Established Emergency Registration & Emergency Session - */ - testcase TC_VoLTE_ECO_INT_DTC_02 ( ) runs on ImsTestCoordinator system IotSystemInterface { - - var IotEquipmentUser v_ueA := f_cf_create_IotEquipmentUser ( c_userUE_A_emergency ); - var ImsUserInfo v_userInfoA := f_getImUser ( PX_EUT_A_EMERGENCY ); - - f_setVxLteMonIterfacesAvailability(); - //Check required monitor interfaces due to TD - if (f_checkVxLteRequiredMonitorInterface({PX_DIAMETER_GX_INTERFACENAME})){ - f_cf_createVxLteMonitor(); - - // map/connect component ports - f_cf_adapter_up ( ); - f_cf_user_up ( v_ueA ); - f_cf_VxLteMonitor_Up(); - - //preamble - f_mtc_userRadioEnabled ( v_ueA, true, true ); // UA-A trigger an initial network_attachment by enabling radio interface of its mobile - f_mtc_userRadioEnabled ( v_ueA, false, true ); - // test body - // TODO - - //postamble - - //unmap/disconnect component ports - f_cf_user_down ( v_ueA ); - f_cf_VxLteMonitor_Down(); - f_cf_adapter_down ( ); - }else{ - //log... - setverdict (inconc,"At least one required monitor interface SHALL be selected! Check PIXITs") - } - } // End of TC TC_VoLTE_ECO_INT_DTC_02 + /** + * @desc To demonstrate UE initiated network emergency detachment (IP-CAN session termination) for a UE that has not yet emergency registered to the IMS or for UE that has been emergency registered to the IMS + * @see ETSI TS 103 795-2 Clause 5.5.1 UE Emergency Network Detachment (with/without Emergency Registration) + */ + testcase TC_VoLTE_ECO_INT_DTC_01 ( ) runs on ImsTestCoordinator system IotSystemInterface { + + var IotEquipmentUser v_ueA := f_cf_create_IotEquipmentUser ( c_userUE_A ); + var ImsUserInfo v_userInfoA := f_getImUser ( PX_EUT_A ); + + f_setVxLteMonIterfacesAvailability(); + //Check required monitor interfaces due to TD + if (f_checkVxLteRequiredMonitorInterface({PX_DIAMETER_GX_INTERFACENAME})){ + f_cf_createVxLteMonitor(); + + // map/connect component ports + f_cf_adapter_up ( ); + f_cf_user_up ( v_ueA ); + f_cf_VxLteMonitor_Up(); + + //preamble + f_mtc_userRadioEnabled ( v_ueA, true, true ); // UA-A trigger an initial network_attachment by enabling radio interface of its mobile + f_mtc_userRadioEnabled ( v_ueA, false, true ); + // test body + // Check that user A starts initial network attachment + f_mtc_check_TP_GX_PCRF_EMC_CCA_01(vc_vxlte_monitor_components.gx, false);//f_mtc_check_TP_GX_PCRF_ECO_CCA_02 ( vc_vxlte_monitor_components.gx, false ); // Check (CCA – Event 3) + + //postamble + + //unmap/disconnect component ports + f_cf_user_down ( v_ueA ); + f_cf_VxLteMonitor_Down(); + f_cf_adapter_down ( ); + }else{ + //log... + setverdict (inconc,"At least one required monitor interface SHALL be selected! Check PIXITs") + } + } // End of TC TC_VoLTE_ECO_INT_DTC_01 + + /** + * @desc To demonstrate UE initiated emergency network detachment (emergency IP-CAN session termination) for a UE that is emergency registered to IMS and also has active emergency session + * @see ETSI TS 103 795-2 Clause 5.5.2 UE Emergency Network Detachment with Previously Established Emergency Registration & Emergency Session + * @remark This is option 1: PSAP is in IMS A network + */ + testcase TC_VoLTE_ECO_INT_DTC_02_01 ( ) runs on ImsTestCoordinator system IotSystemInterface { + + var IotEquipmentUser v_ueA := f_cf_create_IotEquipmentUser ( c_userUE_A_emergency ); + var IotEquipmentUser v_psap := f_cf_create_IotEquipmentUser ( c_psap ); + var ImsUserInfo v_userInfoA := f_getImUser ( PX_EUT_A_EMERGENCY ); + var ImsUserInfo v_infoPsap := f_getImUser ( PX_PSAP ); + + f_setVxLteMonIterfacesAvailability(); + //Check required monitor interfaces due to TD + if (f_checkVxLteRequiredMonitorInterface({PX_SIP_GMA_INTERFACENAME, + PX_DIAMETER_GX_INTERFACENAME, + PX_DIAMETER_RX_INTERFACENAME, + PX_SIP_MW_PE_INTERFACENAME, + PX_SIP_MM_B_PSAP_INTERFACENAME // E-CSCCF -> PSAP + })){ + var SipMessage v_sip; + + f_cf_createVxLteMonitor(); + + // map/connect component ports + f_cf_adapter_up ( ); + f_cf_user_up ( v_ueA ); + f_cf_VxLteMonitor_Up(); + + // Preamble + f_mtc_userRegistration(v_ueA, v_userInfoA); + if (PX_PSAP_REGISTERED) { + f_mtc_userRegistration(v_psap, v_infoPsap); + } else { + // TODO Check OPTIONS from PSAP to E-CSCF + } + f_mtc_check_precond_TC_VoLTE_ECO_INT_DTC_02_01(); + f_mtc_userInitiateCall (v_ueA, v_infoPsap); // Event 1 + + // Test body + f_mtc_check_TP_GM_PCSCF_ECO_BYE_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 2 + + //Rx/Gx exchange after BYE was received at P-CSCF + f_mtc_check_TP_RX_PCSCF_STR_01(vc_vxlte_monitor_components.rx); // (STR – Event 3 + f_mtc_check_TP_GX_PCRF_RAR_02(vc_vxlte_monitor_components.gx, true); // (RAR – Event 4) + f_mtc_check_TP_GX_PGW_RAA_03(vc_vxlte_monitor_components.gx); // (RAA – Event 5) + f_mtc_check_TP_RX_PCRF_STA_01(vc_vxlte_monitor_components.rx); // (STA – Event 6) + + f_mtc_check_TP_MW_PCSCF_ECO_BYE_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 7 + + f_mtc_check_TP_MM_ECSCF_ECO_BYE_01(vc_vxlte_monitor_components.mmB_PSAP, -, v_sip); // Event 8 + + f_mtc_check_TP_MX_ECSCF_ECO_200OK_01(vc_vxlte_monitor_components.mmB_PSAP, -, v_sip); // Event 13 + f_mtc_check_TP_MW_PCSCF_ECO_200OK_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 18 + f_mtc_check_TP_GM_PCSCF_200OK_02(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 19 + + f_mtc_check_TP_GX_PCRF_ECO_CCA_01/*f_mtc_check_TP_GX_PCRF_ECO_CCA_02*/ ( vc_vxlte_monitor_components.gx, false ); // Check (CCA – Event 20) + + f_mtc_userCheckCallTerminated(v_ueA); // Event 22 + f_mtc_userCheckCallCancelled(v_psap); // Event 23 + + // Postamble + f_PO_user_home_deregistration(v_ueA); + f_PO_user_home_deregistration(v_psap); + + //unmap/disconnect component ports + f_cf_user_down ( v_psap ); + f_cf_user_down ( v_ueA ); + f_cf_VxLteMonitor_Down(); + f_cf_adapter_down ( ); + }else{ + //log... + setverdict (inconc,"At least one required monitor interface SHALL be selected! Check PIXITs") + } + } // End of TC TC_VoLTE_ECO_INT_DTC_02_01 + + group f_TC_VoLTE_ECO_INT_DTC_02_01 { + + function f_mtc_check_precond_TC_VoLTE_ECO_INT_DTC_02_01() runs on ImsTestCoordinator { + log("If the test case fails, please check the preconditions"); + } // End of function f_mtc_check_precond_TC_VoLTE_ECO_INT_DTC_02_01 + + } // End of f_TC_VoLTE_ECO_INT_DTC_02_01 + + /** + * @desc To demonstrate UE initiated emergency network detachment (emergency IP-CAN session termination) for a UE that is emergency registered to IMS and also has active emergency session + * @see ETSI TS 103 795-2 Clause 5.5.2 UE Emergency Network Detachment with Previously Established Emergency Registration & Emergency Session + * @remark This is option 2: PSAP is not in IMS A network + */ + testcase TC_VoLTE_ECO_INT_DTC_02_02 ( ) runs on ImsTestCoordinator system IotSystemInterface { + + var IotEquipmentUser v_ueA := f_cf_create_IotEquipmentUser ( c_userUE_A_emergency ); + var IotEquipmentUser v_psap := f_cf_create_IotEquipmentUser ( c_psap ); + var ImsUserInfo v_userInfoA := f_getImUser ( PX_EUT_A_EMERGENCY ); + var ImsUserInfo v_infoPsap := f_getImUser ( PX_PSAP ); + + f_setVxLteMonIterfacesAvailability(); + //Check required monitor interfaces due to TD + if (f_checkVxLteRequiredMonitorInterface({PX_SIP_GMA_INTERFACENAME, + PX_DIAMETER_GX_INTERFACENAME, + PX_DIAMETER_RX_INTERFACENAME, + PX_SIP_MW_PE_INTERFACENAME, + PX_SIP_MW_EB_INTERFACENAME, // E-CSCF -> IBCF + PX_SIP_IC_INTERFACENAME // IBCF -> IMS_B -> PSAP + })){ + var SipMessage v_sip; + + f_cf_createVxLteMonitor(); + + // map/connect component ports + f_cf_adapter_up ( ); + f_cf_user_up ( v_ueA ); + f_cf_VxLteMonitor_Up(); + + // Preamble + f_mtc_userRegistration(v_ueA, v_userInfoA); + if (PX_PSAP_REGISTERED) { + f_mtc_userRegistration(v_psap, v_infoPsap); + } else { + // TODO Check OPTIONS from PSAP to E-CSCF + } + f_mtc_check_precond_TC_VoLTE_ECO_INT_DTC_02_02(); + f_mtc_userInitiateCall (v_ueA, v_infoPsap); // Event 1 + + // Test body + f_mtc_check_TP_GM_PCSCF_ECO_BYE_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 2 + + //Rx/Gx exchange after BYE was received at P-CSCF + f_mtc_check_TP_RX_PCSCF_STR_01(vc_vxlte_monitor_components.rx); // (STR – Event 3 + f_mtc_check_TP_GX_PCRF_RAR_02(vc_vxlte_monitor_components.gx, true); // (RAR – Event 4) + f_mtc_check_TP_GX_PGW_RAA_03(vc_vxlte_monitor_components.gx); // (RAA – Event 5) + f_mtc_check_TP_RX_PCRF_STA_01(vc_vxlte_monitor_components.rx); // (STA – Event 6) + + f_mtc_check_TP_MW_PCSCF_ECO_BYE_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 7 + + f_mtc_check_TP_MX_ECSCF_ECO_BYE_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 9 + f_mtc_check_TP_IC_IBCF_ECO_BYE_01(vc_vxlte_monitor_components.ic); // Event 10 + + f_mtc_check_TP_MX_ECSCF_ECO_200OK_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 15 + f_mtc_check_TP_MW_PCSCF_ECO_200OK_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 18 + f_mtc_check_TP_GM_PCSCF_200OK_02(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 19 + + f_mtc_check_TP_GX_PCRF_ECO_CCA_01/*f_mtc_check_TP_GX_PCRF_ECO_CCA_02*/ ( vc_vxlte_monitor_components.gx, false ); // Check (CCA – Event 20) + + f_mtc_userCheckCallTerminated(v_ueA); // Event 22 + f_mtc_userCheckCallCancelled(v_psap); // Event 23 + + // Postamble + f_PO_user_home_deregistration(v_ueA); + f_PO_user_home_deregistration(v_psap); + + //unmap/disconnect component ports + f_cf_user_down ( v_psap ); + f_cf_user_down ( v_ueA ); + f_cf_VxLteMonitor_Down(); + f_cf_adapter_down ( ); + }else{ + //log... + setverdict (inconc,"At least one required monitor interface SHALL be selected! Check PIXITs") + } + } // End of TC TC_VoLTE_ECO_INT_DTC_02_02 + + group f_TC_VoLTE_ECO_INT_DTC_02_02 { + + function f_mtc_check_precond_TC_VoLTE_ECO_INT_DTC_02_02() runs on ImsTestCoordinator { + log("If the test case fails, please check the preconditions"); + } // End of function f_mtc_check_precond_TC_VoLTE_ECO_INT_DTC_02_02 + + } // End of f_TC_VoLTE_ECO_INT_DTC_02_02 + + /** + * @desc To demonstrate UE initiated emergency network detachment (emergency IP-CAN session termination) for a UE that is emergency registered to IMS and also has active emergency session + * @see ETSI TS 103 795-2 Clause 5.5.2 UE Emergency Network Detachment with Previously Established Emergency Registration & Emergency Session + * @remark This is option 3: PSAP is in PSTN network + */ + testcase TC_VoLTE_ECO_INT_DTC_02_03 ( ) runs on ImsTestCoordinator system IotSystemInterface { + + var IotEquipmentUser v_ueA := f_cf_create_IotEquipmentUser ( c_userUE_A_emergency ); + var IotEquipmentUser v_psap := f_cf_create_IotEquipmentUser ( c_psap ); + var ImsUserInfo v_userInfoA := f_getImUser ( PX_EUT_A_EMERGENCY ); + var ImsUserInfo v_infoPsap := f_getImUser ( PX_PSAP ); + + f_setVxLteMonIterfacesAvailability(); + //Check required monitor interfaces due to TD + if (f_checkVxLteRequiredMonitorInterface({PX_SIP_GMA_INTERFACENAME, + PX_DIAMETER_GX_INTERFACENAME, + PX_DIAMETER_RX_INTERFACENAME, + PX_SIP_MW_PE_INTERFACENAME, // E-CSCF -> IBCF + PX_SIP_IC_INTERFACENAME // IBCF -> IMS -> PSAP + })){ + var SipMessage v_sip; + + f_cf_createVxLteMonitor(); + + // map/connect component ports + f_cf_adapter_up ( ); + f_cf_user_up ( v_ueA ); + f_cf_VxLteMonitor_Up(); + + // Preamble + f_mtc_userRegistration(v_ueA, v_userInfoA); + if (PX_PSAP_REGISTERED) { + f_mtc_userRegistration(v_psap, v_infoPsap); + } else { + // TODO Check OPTIONS from PSAP to E-CSCF + } + f_mtc_check_precond_TC_VoLTE_ECO_INT_DTC_02_03(); + f_mtc_userInitiateCall (v_ueA, v_infoPsap); // Event 1 + + // Test body + f_mtc_check_TP_GM_PCSCF_ECO_BYE_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 2 + + //Rx/Gx exchange after BYE was received at P-CSCF + f_mtc_check_TP_RX_PCSCF_STR_01(vc_vxlte_monitor_components.rx); // (STR – Event 3 + f_mtc_check_TP_GX_PCRF_RAR_02(vc_vxlte_monitor_components.gx, true); // (RAR – Event 4) + f_mtc_check_TP_GX_PGW_RAA_03(vc_vxlte_monitor_components.gx); // (RAA – Event 5) + f_mtc_check_TP_RX_PCRF_STA_01(vc_vxlte_monitor_components.rx); // (STA – Event 6) + + f_mtc_check_TP_MW_PCSCF_ECO_BYE_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 7 + + f_mtc_check_TP_MI_ECSCF_ECO_BYE_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 11 + + f_mtc_check_TP_MI_ECSCF_ECO_200OK_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 17 + f_mtc_check_TP_MW_PCSCF_ECO_200OK_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 18 + f_mtc_check_TP_GM_PCSCF_200OK_02(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 19 + + f_mtc_check_TP_GX_PCRF_ECO_CCA_01/*f_mtc_check_TP_GX_PCRF_ECO_CCA_02*/ ( vc_vxlte_monitor_components.gx, false ); // Check (CCA – Event 20) + + f_mtc_userCheckCallTerminated(v_ueA); // Event 22 + f_mtc_userCheckCallCancelled(v_psap); // Event 23 + + // Postamble + f_PO_user_home_deregistration(v_ueA); + f_PO_user_home_deregistration(v_psap); + + //unmap/disconnect component ports + f_cf_user_down ( v_psap ); + f_cf_user_down ( v_ueA ); + f_cf_VxLteMonitor_Down(); + f_cf_adapter_down ( ); + }else{ + //log... + setverdict (inconc,"At least one required monitor interface SHALL be selected! Check PIXITs") + } + } // End of TC TC_VoLTE_ECO_INT_DTC_02_03 + + group f_TC_VoLTE_ECO_INT_DTC_02_03 { + + function f_mtc_check_precond_TC_VoLTE_ECO_INT_DTC_02_03() runs on ImsTestCoordinator { + log("If the test case fails, please check the preconditions"); + } // End of function f_mtc_check_precond_TC_VoLTE_ECO_INT_DTC_02_03 + + } // End of f_TC_VoLTE_ECO_INT_DTC_02_03 } // End of group EmergencySessionDetachment @@ -3048,19 +3263,19 @@ module AtsImsIot_Emergency { } // End of group Interoperability /** - * @see ETSI TS 103 795-2 Clause 6 Test Descriptions (Roaming) + * @see ETSI TS 103 795-2 Clause 6 Test Descriptions (Roaming) */ group Roaming { /** - * @see ETSI TS 103 795-2 6.1 Network Attachment + * @see ETSI TS 103 795-2 6.1 Network Attachment */ group NetworkAttachment { } // End of group NetworkAttachment /** - * @see ETSI TS 103 795-2 Clause 6.2 IMS Emergency Registration in a visited network + * @see ETSI TS 103 795-2 Clause 6.2 IMS Emergency Registration in a visited network */ group IMSEmergencyRegistration { -- GitLab From 98b0faa08a6b878078ac92a32302f97623ab96fa Mon Sep 17 00:00:00 2001 From: Schmitting Date: Mon, 23 Oct 2023 14:40:21 +0200 Subject: [PATCH 11/32] Corrected TP_GM_PCSCF_ECO_INVITE_04 for MSD --- test_purposes/Gm/TP_GM.tplan2 | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/test_purposes/Gm/TP_GM.tplan2 b/test_purposes/Gm/TP_GM.tplan2 index 4696be0..963083f 100644 --- a/test_purposes/Gm/TP_GM.tplan2 +++ b/test_purposes/Gm/TP_GM.tplan2 @@ -413,10 +413,13 @@ Package TP_GM { Route indicating value PX_UE_A_SERVICE_ROUTE, Accept indicating value "application/EmergencyCallData.Control+xml", RecvInfo indicating value "EmergencyCallData.eCall.MSD", - PPreferredIdentity, // one or two instances + PPreferredIdentity, // one or two instances, + ContentDisposition containing + handling indicating value "optional";, // TODO Geolocation header maybe added later, check! MessageBody containing - MIME containing MSD;;; // MIME may contain additional parts e.g., sdp, xml + MIME containing MSD;;; // "application/EmergencyCallData.eCall.MSD" MIME body + // MIME may contain additional parts e.g., sdp, xml from the UE_A entity } } -- GitLab From 25990dc5ddf765f2f7d01c87001026632584f544 Mon Sep 17 00:00:00 2001 From: Schmitting Date: Tue, 24 Oct 2023 12:38:43 +0200 Subject: [PATCH 12/32] Added MSD related TPs TP_GM_PCSCF_NGC_INVITE_01 TP_GM_PCSCF_NGC_INFO_01 TP_MW_PCSCF_NGC_INFO_01 --- test_purposes/Gm/TP_GM.tplan2 | 53 +++++++++++++++++++++++++++++--- test_purposes/Mw/TP_MW_PS.tplan2 | 47 ++++++++++++++++++++++++++++ test_purposes/Sip_Common.tplan2 | 1 + 3 files changed, 97 insertions(+), 4 deletions(-) diff --git a/test_purposes/Gm/TP_GM.tplan2 b/test_purposes/Gm/TP_GM.tplan2 index 963083f..8fd93df 100644 --- a/test_purposes/Gm/TP_GM.tplan2 +++ b/test_purposes/Gm/TP_GM.tplan2 @@ -51,9 +51,9 @@ Package TP_GM { Realm indicating value PX_UE_A_REALM, Algorithm indicating value PX_UE_A_AUTH_ALG, Nonce indicating value "", - not term_ioi, + not term_ioi;, not SecurityClient, - Contact indicating value "sos";; + Contact indicating value "sos"; from the UE_A entity } then { @@ -383,7 +383,7 @@ Package TP_GM { Test Purpose { - TP Id TP_GM_PCSCF_ECO_INVITE_04 + TP Id TP_GM_PCSCF_NGC_INVITE_01 Test objective "Verify that the P-CSCF successfully receives an initial eCall type INVITE from an emergency registered UE." @@ -423,7 +423,52 @@ Package TP_GM { from the UE_A entity } } - } // End of TP_GM_PCSCF_ECO_INVITE_04 + } // End of TP_GM_PCSCF_NGC_INVITE_01 + + Test Purpose { + + TP Id TP_GM_PCSCF_NGC_INFO_01 + + Test objective "Verify that the P-CSCF successfully receives an INFO from the UE in an + established eCall type emergency call that has been requested to transfer + an updated MSD." + + Reference + "ETSI TS 124 229 [1], Clauses 5.1.6.11.3" + + Config Id CF_VoLTE_INT_ES + + PICS Selection NONE + + Initial conditions with { + the UE_A entity isEmergencyAttachedTo the EPC_A and + the UE_A entity isEmergencyRegisteredTo the IMS_A and + the UE_A entity previouslyEstablishedEmergencyCallWith the PSAP + } + + Expected behaviour + ensure that { + when { + the UE_A entity isRequestedToTransferUpdatedMSD + // UE_A has received an INFO request as described in TP_MW_PCSCF_NGC_INFO_01 + } + then { + the IMS_P_CSCF_A entity receives an INFO containing + From indicating value PX_UE_A_SIP_URI, + To indicating value PX_SIP_ECALL_EMERGENCY_SERVICE_URN, // "urn:service:sos.ecall.manual" or "urn:service:sos.ecall.automatic" + CallId indicating value PX_UE_A_CALLID, + Via indicating value PX_UE_A_VIA, + Route indicating value PX_UE_A_SERVICE_ROUTE, + InfoPackage indicating value "EmergencyCallData.eCall.MSD", + ContentDisposition indicating value "Info-Package", + MessageBody containing + MIME indicating value "application/EmergencyCallData.eCall.MSD", // MIME may contain additional parts e.g., sdp, xml + // MSD not exceeding 140 bytes and encoded in binary ASN.1 + ContentDisposition indicating value "By-Reference";; + from the UE_A entity + } + } + } // End of TP_GM_PCSCF_NGC_INFO_01 Test Purpose { diff --git a/test_purposes/Mw/TP_MW_PS.tplan2 b/test_purposes/Mw/TP_MW_PS.tplan2 index b049914..b6e13a2 100644 --- a/test_purposes/Mw/TP_MW_PS.tplan2 +++ b/test_purposes/Mw/TP_MW_PS.tplan2 @@ -767,5 +767,52 @@ Package TP_MW_PS { } // End of TP_MW_PCSCF_EMC_487INVITE_01 + Test Purpose { + + TP Id TP_MW_PCSCF_NGC_INFO_01 + + Test objective "Verify that the P-CSCF sends an INFO request demanding a transfer of updated MSD." + + Reference + "ETSI TS 124 229 [1], clauses 5.1.6.11.3" + + Config Id CF_VoLTE_INT_ES + + PICS Selection NONE + + Initial conditions with { + the UE_A entity isAttachedTo the EPC_A and + the UE_A entity isRegisteredTo the IMS_A and + the UE_A entity isEmergencyRegisteredTo the IMS_A and + the UE_A entity previouslyEstablishedEmergencyCallWith the PSAP + } + + Expected behaviour + ensure that { + when { + the IMS_P_CSCF_A entity receives a INFO containing "Request transfer of updated MSD"; + from the IMS_E_CSCF entity + } + then { + the IMS_P_CSCF_A entity sends a INFO containing + From indicating value PX_PSAP_SIP_URI, + To indicating value PX_UE_A_SIP_URI, + CallId indicating value PX_PSAP_CALLID, + Via indicating value PX_PSAP_VIA, + Route indicating value PX_PSAP_SERVICE_ROUTE, + InfoPackage indicating value "EmergencyCallData.eCall.MSD", + ContentDisposition indicating value "Info-Package", + MessageBody containing + MIME indicating value "application/EmergencyCallData.Control+xml", // MIME may contain additional parts e.g., sdp, xml + request containing + action indicating value "send-data", + datatype indicating value "eCall.MSD";, + ContentDisposition indicating value "By-Reference";; + to the UE_A entity + } + } + + } // End of TP_MW_PCSCF_NGC_INFO_01 + } // End of Package TP_MW_PS diff --git a/test_purposes/Sip_Common.tplan2 b/test_purposes/Sip_Common.tplan2 index e14773e..b08fc7b 100644 --- a/test_purposes/Sip_Common.tplan2 +++ b/test_purposes/Sip_Common.tplan2 @@ -96,6 +96,7 @@ Package Sip_Common { - isRequestedToSend - isRequestedToEstablishEmergencyCall - isRequestedToEstablisheCallTypeEmergencyCall + - isRequestedToTransferUpdatedMSD - isRequestedToDeregisterUser - isBusy - isTemporaryUnavailable -- GitLab From 9d0c622ec276714fb9e10437cf7bad1c89727076 Mon Sep 17 00:00:00 2001 From: pintar Date: Tue, 24 Oct 2023 16:10:04 +0200 Subject: [PATCH 13/32] New TP added for roaming scenario --- test_purposes/Gm/TP_GM.tplan2 | 41 +++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/test_purposes/Gm/TP_GM.tplan2 b/test_purposes/Gm/TP_GM.tplan2 index 5abe649..c66ce5e 100644 --- a/test_purposes/Gm/TP_GM.tplan2 +++ b/test_purposes/Gm/TP_GM.tplan2 @@ -422,6 +422,47 @@ Package TP_GM { } } // End of TP_GM_PCSCF_ECO_INVITE_04 + Test Purpose { + + TP Id TP_GM_PCSCF_ECO_INVITE_05 + + Test objective "Verify that the P-CSCF successfully receives an initial emergency INVITE from a registered but not emergency registered UE." + + Reference + "ETSI TS 124 229 [1], Clauses 5.1.6.8.4" + + Config Id CF_VoLTE_RMI_ES + + PICS Selection NONE + + Initial conditions with { + the UE_A entity isAttachedTo the EPC_B and + the UE_A entity isRegisteredTo the IMS_A and + the UE_A entity not isEmergencyRegisteredTo the IMS_A + /* This implies that the UE is currently attached and registered + to its home operator's network and the IP-CAN does not define emergency bearers + see 5.1.6.1 3rd paragraph */ + } + + Expected behaviour + ensure that { + when { + the UE_A entity isRequestedToEstablishEmergencyCall + } + then { + the IMS_P_CSCF_A entity receives an INVITE containing + From indicating value PX_UE_A_SIP_URI, + To indicating value PX_SIP_EMERGENCY_SERVICE_URN, + CallId indicating value PX_UE_A_CALLID, + Via indicating value PX_UE_A_VIA, + Route indicating value PX_UE_A_SERVICE_ROUTE, + PPreferredIdentity, // one or two instances + MessageBody; + from the UE_A entity + } + } + } // End of TP_GM_PCSCF_ECO_INVITE_05 + Test Purpose { TP Id TP_GM_PCSCF_ECO_BYE_01 -- GitLab From 875fff6bb850f7c0d608971274b1f34e7ec69c38 Mon Sep 17 00:00:00 2001 From: pintar Date: Wed, 25 Oct 2023 10:56:43 +0200 Subject: [PATCH 14/32] ISC TP added --- test_purposes/Isc/TP_ISC.tplan2 | 42 +++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/test_purposes/Isc/TP_ISC.tplan2 b/test_purposes/Isc/TP_ISC.tplan2 index 588bc56..0d23f25 100644 --- a/test_purposes/Isc/TP_ISC.tplan2 +++ b/test_purposes/Isc/TP_ISC.tplan2 @@ -11,6 +11,8 @@ from its use or inability of use.This permission does not apply to any documenta associated with this file for which ETSI keeps all rights reserved. The present copyright notice shall be included in all copies of whole or part of this file and shall not imply any sub-license right. +* +* @author TTF T010 */ /* Isc interface at S-CSCF<->AS */ @@ -18,6 +20,46 @@ Package TP_ISC { import all from Sip_Common; + Test Purpose { + + TP Id TP_ISC_SCSCF_EMC_INVITE_01 + + Test objective "Verify that the AS successfully identify the request for emergency call and forwards it towards S-CSCF." + + Reference + "ETSI TS 124 229 [2], Clauses 4.7.3 and 5.7.1.14" + + Config Id CF_VoLTE_INT_ES + + PICS Selection NONE + + Initial conditions with { + the UE_A entity isAttachedTo the EPC_A and + the UE_A entity isRegisteredTo the IMS_A and + the UE_A entity not isEmergencyRegisteredTo the IMS_A + + } + + Expected behaviour + ensure that { + when { + the IMS_AS_A entity receives an INVITE + from the UE_A entity + } + then { + the IMS_AS_A entity sends an INVITE containing + From indicating value PX_UE_A_SIP_URI, + To indicating value PX_SIP_EMERGENCY_SERVICE_URN, + Request_Uri indicating value PX_SIP_EMERGENCY_SERVICE_URN, + Route indicating value PX_E_CSCF_SERVICE_ROUTE, + PChargingVector, + // TODO Geolocation header maybe added later, check! + MessageBody; + to the IMS_S_CSCF_A entity + } + } + } // End of TP_ISC_SCSCF_EMC_INVITE_01 + } // End of Package TP_ISC -- GitLab From 10b1762bfec858b6cd055cac161a2993bc66c67d Mon Sep 17 00:00:00 2001 From: pintar Date: Wed, 25 Oct 2023 10:57:21 +0200 Subject: [PATCH 15/32] TTF T010 as author mentioned --- test_purposes/Cx/TP_CX.tplan2 | 2 ++ test_purposes/Diameter_Common.tplan2 | 32 +++++++++++++-------------- test_purposes/E_CSCF/TP_E_CSCF.tplan2 | 2 ++ test_purposes/Gm/TP_GM.tplan2 | 2 ++ test_purposes/Gx/TP_GX.tplan2 | 2 ++ test_purposes/Ic/TP_IC.tplan2 | 2 ++ test_purposes/Mw/TP_MW_IS.tplan2 | 2 ++ test_purposes/Mw/TP_MW_PS.tplan2 | 2 ++ test_purposes/Mw/TP_MW_SI.tplan2 | 2 ++ test_purposes/Rtp/TP_Rtp.tplan2 | 2 ++ test_purposes/Rtp_Common.tplan2 | 32 +++++++++++++-------------- test_purposes/Rx/TP_RX.tplan2 | 2 ++ test_purposes/S6a/TP_S6A.tplan2 | 2 ++ test_purposes/S9/TP_S9.tplan2 | 2 ++ test_purposes/Sip_Common.tplan2 | 32 +++++++++++++-------------- 15 files changed, 69 insertions(+), 51 deletions(-) diff --git a/test_purposes/Cx/TP_CX.tplan2 b/test_purposes/Cx/TP_CX.tplan2 index 65d5a37..862819d 100644 --- a/test_purposes/Cx/TP_CX.tplan2 +++ b/test_purposes/Cx/TP_CX.tplan2 @@ -11,6 +11,8 @@ from its use or inability of use.This permission does not apply to any documenta associated with this file for which ETSI keeps all rights reserved. The present copyright notice shall be included in all copies of whole or part of this file and shall not imply any sub-license right. +* +* @author TTF T010 */ diff --git a/test_purposes/Diameter_Common.tplan2 b/test_purposes/Diameter_Common.tplan2 index a87b9f2..d9e7cbc 100644 --- a/test_purposes/Diameter_Common.tplan2 +++ b/test_purposes/Diameter_Common.tplan2 @@ -1,20 +1,18 @@ -/* ETSI Software License -* As long as the here under conditions are respected, non-exclusive permission is hereby granted, -* free of charge, to use, reproduce and modify this software source code, under the following conditions: -* This source code is provided AS IS with no warranties, express or implied, including but not limited to, -* the warranties of merchant ability, fitness for a particular purpose and warranties for non-infringement -* of intellectual property rights. -* ETSI shall not be held liable in any event for any direct or indirect damages whatsoever (including, without -* limitation, damages for loss of profits, business interruption, loss of information, or any other pecuniary -* loss) arising out of or related to the use of or inability to use the source code. -* This permission is granted to facilitate the implementation of the related ETSI standard, provided that -* ETSI is given the right to use, reproduce and amend the modified source code under the same conditions -* as the present permission. -* This permission does not apply to any documentation associated with this source code for which ETSI keeps -* all rights reserved. -* The present ETSI Source Code license shall be included in all copies of whole or part of this source code -* and shall not imply any sub-license right. -* (c) ETSI 2019-2020 +/* +Copyright (c) ETSI 2023. + +This software is subject to copyrights owned by ETSI. Non-exclusive permission +is hereby granted, free of charge, to copy, reproduce and amend this file +under the following conditions: It is provided "as is", without warranty of any +kind, expressed or implied. + +ETSI shall never be liable for any claim, damages, or other liability arising +from its use or inability of use.This permission does not apply to any documentation +associated with this file for which ETSI keeps all rights reserved. The present +copyright notice shall be included in all copies of whole or part of this +file and shall not imply any sub-license right. +* +* @author TTF T010 */ diff --git a/test_purposes/E_CSCF/TP_E_CSCF.tplan2 b/test_purposes/E_CSCF/TP_E_CSCF.tplan2 index 7e5f51a..87b23d6 100644 --- a/test_purposes/E_CSCF/TP_E_CSCF.tplan2 +++ b/test_purposes/E_CSCF/TP_E_CSCF.tplan2 @@ -11,6 +11,8 @@ from its use or inability of use.This permission does not apply to any documenta associated with this file for which ETSI keeps all rights reserved. The present copyright notice shall be included in all copies of whole or part of this file and shall not imply any sub-license right. +* +* @author TTF T010 */ /* E-CSCF interfaces to diff --git a/test_purposes/Gm/TP_GM.tplan2 b/test_purposes/Gm/TP_GM.tplan2 index c31c5e7..c3c4a59 100644 --- a/test_purposes/Gm/TP_GM.tplan2 +++ b/test_purposes/Gm/TP_GM.tplan2 @@ -11,6 +11,8 @@ from its use or inability of use.This permission does not apply to any documenta associated with this file for which ETSI keeps all rights reserved. The present copyright notice shall be included in all copies of whole or part of this file and shall not imply any sub-license right. +* +* @author TTF T010 */ /* Gm interface at UE/P-CSCF */ diff --git a/test_purposes/Gx/TP_GX.tplan2 b/test_purposes/Gx/TP_GX.tplan2 index dc55c7d..1bb2969 100644 --- a/test_purposes/Gx/TP_GX.tplan2 +++ b/test_purposes/Gx/TP_GX.tplan2 @@ -11,6 +11,8 @@ from its use or inability of use.This permission does not apply to any documenta associated with this file for which ETSI keeps all rights reserved. The present copyright notice shall be included in all copies of whole or part of this file and shall not imply any sub-license right. +* +* @author TTF T010 */ diff --git a/test_purposes/Ic/TP_IC.tplan2 b/test_purposes/Ic/TP_IC.tplan2 index dc99d91..751d0a5 100644 --- a/test_purposes/Ic/TP_IC.tplan2 +++ b/test_purposes/Ic/TP_IC.tplan2 @@ -11,6 +11,8 @@ from its use or inability of use.This permission does not apply to any documenta associated with this file for which ETSI keeps all rights reserved. The present copyright notice shall be included in all copies of whole or part of this file and shall not imply any sub-license right. +* +* @author TTF T010 */ diff --git a/test_purposes/Mw/TP_MW_IS.tplan2 b/test_purposes/Mw/TP_MW_IS.tplan2 index aef07b0..5d74dd9 100644 --- a/test_purposes/Mw/TP_MW_IS.tplan2 +++ b/test_purposes/Mw/TP_MW_IS.tplan2 @@ -11,6 +11,8 @@ from its use or inability of use.This permission does not apply to any documenta associated with this file for which ETSI keeps all rights reserved. The present copyright notice shall be included in all copies of whole or part of this file and shall not imply any sub-license right. +* +* @author TTF T010 */ /* Mw interface at I-CSCF/S-CSCF */ diff --git a/test_purposes/Mw/TP_MW_PS.tplan2 b/test_purposes/Mw/TP_MW_PS.tplan2 index b6e13a2..68bcb2a 100644 --- a/test_purposes/Mw/TP_MW_PS.tplan2 +++ b/test_purposes/Mw/TP_MW_PS.tplan2 @@ -11,6 +11,8 @@ from its use or inability of use.This permission does not apply to any documenta associated with this file for which ETSI keeps all rights reserved. The present copyright notice shall be included in all copies of whole or part of this file and shall not imply any sub-license right. +* +* @author TTF T010 */ /* Mw interface at P-CSCF/E-CSCF */ diff --git a/test_purposes/Mw/TP_MW_SI.tplan2 b/test_purposes/Mw/TP_MW_SI.tplan2 index 1f698b3..14b2d84 100644 --- a/test_purposes/Mw/TP_MW_SI.tplan2 +++ b/test_purposes/Mw/TP_MW_SI.tplan2 @@ -11,6 +11,8 @@ from its use or inability of use.This permission does not apply to any documenta associated with this file for which ETSI keeps all rights reserved. The present copyright notice shall be included in all copies of whole or part of this file and shall not imply any sub-license right. +* +* @author TTF T010 */ /* Mw interface at S-CSCF/IBCF */ diff --git a/test_purposes/Rtp/TP_Rtp.tplan2 b/test_purposes/Rtp/TP_Rtp.tplan2 index deadc45..6c5394a 100644 --- a/test_purposes/Rtp/TP_Rtp.tplan2 +++ b/test_purposes/Rtp/TP_Rtp.tplan2 @@ -11,6 +11,8 @@ from its use or inability of use.This permission does not apply to any documenta associated with this file for which ETSI keeps all rights reserved. The present copyright notice shall be included in all copies of whole or part of this file and shall not imply any sub-license right. +* +* @author TTF T010 */ diff --git a/test_purposes/Rtp_Common.tplan2 b/test_purposes/Rtp_Common.tplan2 index 7da1861..6cb40b5 100644 --- a/test_purposes/Rtp_Common.tplan2 +++ b/test_purposes/Rtp_Common.tplan2 @@ -1,20 +1,18 @@ -/* ETSI Software License -* As long as the here under conditions are respected, non-exclusive permission is hereby granted, -* free of charge, to use, reproduce and modify this software source code, under the following conditions: -* This source code is provided AS IS with no warranties, express or implied, including but not limited to, -* the warranties of merchant ability, fitness for a particular purpose and warranties for non-infringement -* of intellectual property rights. -* ETSI shall not be held liable in any event for any direct or indirect damages whatsoever (including, without -* limitation, damages for loss of profits, business interruption, loss of information, or any other pecuniary -* loss) arising out of or related to the use of or inability to use the source code. -* This permission is granted to facilitate the implementation of the related ETSI standard, provided that -* ETSI is given the right to use, reproduce and amend the modified source code under the same conditions -* as the present permission. -* This permission does not apply to any documentation associated with this source code for which ETSI keeps -* all rights reserved. -* The present ETSI Source Code license shall be included in all copies of whole or part of this source code -* and shall not imply any sub-license right. -* (c) ETSI 2019-2020 +/* +Copyright (c) ETSI 2023. + +This software is subject to copyrights owned by ETSI. Non-exclusive permission +is hereby granted, free of charge, to copy, reproduce and amend this file +under the following conditions: It is provided "as is", without warranty of any +kind, expressed or implied. + +ETSI shall never be liable for any claim, damages, or other liability arising +from its use or inability of use.This permission does not apply to any documentation +associated with this file for which ETSI keeps all rights reserved. The present +copyright notice shall be included in all copies of whole or part of this +file and shall not imply any sub-license right. +* +* @author TTF T010 */ diff --git a/test_purposes/Rx/TP_RX.tplan2 b/test_purposes/Rx/TP_RX.tplan2 index 4719db8..0c5daef 100644 --- a/test_purposes/Rx/TP_RX.tplan2 +++ b/test_purposes/Rx/TP_RX.tplan2 @@ -11,6 +11,8 @@ from its use or inability of use.This permission does not apply to any documenta associated with this file for which ETSI keeps all rights reserved. The present copyright notice shall be included in all copies of whole or part of this file and shall not imply any sub-license right. +* +* @author TTF T010 */ diff --git a/test_purposes/S6a/TP_S6A.tplan2 b/test_purposes/S6a/TP_S6A.tplan2 index ff5f4d2..0057f0a 100644 --- a/test_purposes/S6a/TP_S6A.tplan2 +++ b/test_purposes/S6a/TP_S6A.tplan2 @@ -11,6 +11,8 @@ from its use or inability of use.This permission does not apply to any documenta associated with this file for which ETSI keeps all rights reserved. The present copyright notice shall be included in all copies of whole or part of this file and shall not imply any sub-license right. +* +* @author TTF T010 */ diff --git a/test_purposes/S9/TP_S9.tplan2 b/test_purposes/S9/TP_S9.tplan2 index fa3ed8f..ddeab02 100644 --- a/test_purposes/S9/TP_S9.tplan2 +++ b/test_purposes/S9/TP_S9.tplan2 @@ -11,6 +11,8 @@ from its use or inability of use.This permission does not apply to any documenta associated with this file for which ETSI keeps all rights reserved. The present copyright notice shall be included in all copies of whole or part of this file and shall not imply any sub-license right. +* +* @author TTF T010 */ diff --git a/test_purposes/Sip_Common.tplan2 b/test_purposes/Sip_Common.tplan2 index b08fc7b..eeb2bd6 100644 --- a/test_purposes/Sip_Common.tplan2 +++ b/test_purposes/Sip_Common.tplan2 @@ -1,20 +1,18 @@ -/* ETSI Software License -* As long as the here under conditions are respected, non-exclusive permission is hereby granted, -* free of charge, to use, reproduce and modify this software source code, under the following conditions: -* This source code is provided AS IS with no warranties, express or implied, including but not limited to, -* the warranties of merchant ability, fitness for a particular purpose and warranties for non-infringement -* of intellectual property rights. -* ETSI shall not be held liable in any event for any direct or indirect damages whatsoever (including, without -* limitation, damages for loss of profits, business interruption, loss of information, or any other pecuniary -* loss) arising out of or related to the use of or inability to use the source code. -* This permission is granted to facilitate the implementation of the related ETSI standard, provided that -* ETSI is given the right to use, reproduce and amend the modified source code under the same conditions -* as the present permission. -* This permission does not apply to any documentation associated with this source code for which ETSI keeps -* all rights reserved. -* The present ETSI Source Code license shall be included in all copies of whole or part of this source code -* and shall not imply any sub-license right. -* (c) ETSI 2019-2020 +/* +Copyright (c) ETSI 2023. + +This software is subject to copyrights owned by ETSI. Non-exclusive permission +is hereby granted, free of charge, to copy, reproduce and amend this file +under the following conditions: It is provided "as is", without warranty of any +kind, expressed or implied. + +ETSI shall never be liable for any claim, damages, or other liability arising +from its use or inability of use.This permission does not apply to any documentation +associated with this file for which ETSI keeps all rights reserved. The present +copyright notice shall be included in all copies of whole or part of this +file and shall not imply any sub-license right. +* +* @author TTF T010 */ -- GitLab From 48f019f9a3ea19b46ca6b1887143db5ee5eff8f3 Mon Sep 17 00:00:00 2001 From: pintar Date: Wed, 25 Oct 2023 11:07:58 +0200 Subject: [PATCH 16/32] Empty file removed --- test_purposes/New Text Document.txt | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 test_purposes/New Text Document.txt diff --git a/test_purposes/New Text Document.txt b/test_purposes/New Text Document.txt deleted file mode 100644 index e69de29..0000000 -- GitLab From 34b2c659405bb915e0cb1b4082aa50c3be25ff5d Mon Sep 17 00:00:00 2001 From: pintar Date: Wed, 25 Oct 2023 11:21:40 +0200 Subject: [PATCH 17/32] Typo update --- test_purposes/Cx/TP_CX.tplan2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test_purposes/Cx/TP_CX.tplan2 b/test_purposes/Cx/TP_CX.tplan2 index 862819d..f8693a5 100644 --- a/test_purposes/Cx/TP_CX.tplan2 +++ b/test_purposes/Cx/TP_CX.tplan2 @@ -1,5 +1,5 @@ /* -Copyright (c) ETSI 2019. +Copyright (c) ETSI 2023. This software is subject to copyrights owned by ETSI. Non-exclusive permission is hereby granted, free of charge, to copy, reproduce and amend this file -- GitLab From 8d41fe3f42630b8b2764628f8f4855309c4b67fa Mon Sep 17 00:00:00 2001 From: pintar Date: Wed, 25 Oct 2023 11:35:02 +0200 Subject: [PATCH 18/32] Issues resolved due doublechecking with TD document --- test_purposes/Gx/TP_GX.tplan2 | 2 +- test_purposes/Mw/TP_MW_PS.tplan2 | 4 ++-- test_purposes/Rtp/TP_Rtp.tplan2 | 8 ++++---- test_purposes/Sh/TP_Sh.tplan2 | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/test_purposes/Gx/TP_GX.tplan2 b/test_purposes/Gx/TP_GX.tplan2 index 1bb2969..a946a96 100644 --- a/test_purposes/Gx/TP_GX.tplan2 +++ b/test_purposes/Gx/TP_GX.tplan2 @@ -24,7 +24,7 @@ Package TP_GX { Test Purpose { - TP Id TP_GX_PCRF_CCA_01 + TP Id TP_GX_PCRF_ECO_CCA_01 //TP_GX_PCRF_CCA_01 from TS 103 653-1 V2.1.1 without emergency registration Test objective "Verify that IUT when receives CC-Request for PCC Rules containing IMSI for emergency services sends a CC-Answer in case of attachment procedure." diff --git a/test_purposes/Mw/TP_MW_PS.tplan2 b/test_purposes/Mw/TP_MW_PS.tplan2 index 68bcb2a..0512125 100644 --- a/test_purposes/Mw/TP_MW_PS.tplan2 +++ b/test_purposes/Mw/TP_MW_PS.tplan2 @@ -159,7 +159,7 @@ Package TP_MW_PS { Test Purpose { - TP Id TP_MW_PCSCF_REGISTER_03 + TP Id TP_MW_PCSCF_ECO_REGISTER_03 Test objective "Verify that the P-CSCF rejects invalid credentials within registration (Unsuccessful)." @@ -205,7 +205,7 @@ Package TP_MW_PS { to the UE_A entity } } - } // End of TP_MW_PCSCF_REGISTER_03 + } // End of TP_MW_PCSCF_ECO_REGISTER_03 diff --git a/test_purposes/Rtp/TP_Rtp.tplan2 b/test_purposes/Rtp/TP_Rtp.tplan2 index 6c5394a..c49cd88 100644 --- a/test_purposes/Rtp/TP_Rtp.tplan2 +++ b/test_purposes/Rtp/TP_Rtp.tplan2 @@ -25,7 +25,7 @@ Package TP_RTP { Test Purpose { - TP Id TP_RTP_ECO_UE_01 + TP Id TP_RTP_ECO_01 // TP_RTP_UE_01 from VxLTE TTF T006 Test objective "Verify that media between UE_A/IVS and PSAP is not delivered in any direction before call establishment." @@ -53,11 +53,11 @@ Package TP_RTP { } } - } // End of TP_RTP_ECO_UE_01 + } // End of TP_RTP_ECO_01 Test Purpose { - TP Id TP_RTP_ECO_UE_03 + TP Id TP_RTP_ECO_03 // TP_RTP_UE_03 from VxLTE TTF T006 Test objective "Verify that media between UE_A and UE_B is successfully routed." @@ -85,7 +85,7 @@ Package TP_RTP { } } - } // End of TP_RTP_ECO_UE_03 + } // End of TP_RTP_ECO_03 } // End of Package TP_RTP diff --git a/test_purposes/Sh/TP_Sh.tplan2 b/test_purposes/Sh/TP_Sh.tplan2 index ecde968..fd249bb 100644 --- a/test_purposes/Sh/TP_Sh.tplan2 +++ b/test_purposes/Sh/TP_Sh.tplan2 @@ -1,5 +1,5 @@ /* -Copyright (c) ETSI 2019. +Copyright (c) ETSI 2023. This software is subject to copyrights owned by ETSI. Non-exclusive permission is hereby granted, free of charge, to copy, reproduce and amend this file -- GitLab From c257fc67c0cf5555b646d61822e72210406c04c0 Mon Sep 17 00:00:00 2001 From: pintar Date: Wed, 25 Oct 2023 11:54:51 +0200 Subject: [PATCH 19/32] clause/clauses cleanup --- test_purposes/E_CSCF/TP_E_CSCF.tplan2 | 50 +++++++++++++-------------- test_purposes/Gm/TP_GM.tplan2 | 18 +++++----- test_purposes/Gx/TP_GX.tplan2 | 4 +-- test_purposes/Mw/TP_MW_IS.tplan2 | 4 +-- test_purposes/Mw/TP_MW_PS.tplan2 | 10 +++--- 5 files changed, 43 insertions(+), 43 deletions(-) diff --git a/test_purposes/E_CSCF/TP_E_CSCF.tplan2 b/test_purposes/E_CSCF/TP_E_CSCF.tplan2 index 87b23d6..1e650ba 100644 --- a/test_purposes/E_CSCF/TP_E_CSCF.tplan2 +++ b/test_purposes/E_CSCF/TP_E_CSCF.tplan2 @@ -34,7 +34,7 @@ Package TP_E_CSCF { Test objective "Verify that the E-CSCF successfully processes an initial INVITE from the P-CSCF and routes the request to the EATF." Reference - "ETSI TS 124 229 [1], Clauses 5.11.2 1)" + "ETSI TS 124 229 [1], Clause 5.11.2 1" Config Id CF_VoLTE_INT_ES @@ -87,7 +87,7 @@ Package TP_E_CSCF { Test objective "Verify that the E-CSCF successfully processes an initial INVITE from the P-CSCF and routes the request to the LRF." Reference - "ETSI TS 124 229 [1], Clauses 5.11.3" + "ETSI TS 124 229 [1], Clause 5.11.3" Config Id CF_VoLTE_INT_ES @@ -136,7 +136,7 @@ Package TP_E_CSCF { Test objective "Verify that the E-CSCF successfully processes an initial INVITE from the P-CSCF and routes the request to the PSAP in the IM CN subsystem of own network." Reference - "ETSI TS 124 229 [1], Clauses 5.11.2" + "ETSI TS 124 229 [1], Clause 5.11.2" Config Id CF_VoLTE_INT_ES @@ -276,7 +276,7 @@ Package TP_E_CSCF { Test objective "Verify that the E-CSCF successfully processes an initial INVITE from the P-CSCF and routes the request to the IBCF for a PSAP in another network." Reference - "ETSI TS 124 229 [1], Clauses 5.11.2" + "ETSI TS 124 229 [1], Clause 5.11.2" Config Id CF_VoLTE_INT_ES @@ -327,7 +327,7 @@ Package TP_E_CSCF { Test objective "Verify that the E-CSCF successfully processes an initial INVITE from the P-CSCF and routes the request to the IBCF for a PSAP in another network and includes the LRF provided URI in the Route header." Reference - "ETSI TS 124 229 [1], Clauses 5.11.2" + "ETSI TS 124 229 [1], Clause 5.11.2" Config Id CF_VoLTE_INT_ES @@ -424,7 +424,7 @@ Package TP_E_CSCF { Test objective "Verify that the E-CSCF successfully processes an initial INVITE from the P-CSCF and routes the request to the BGCF for a PSAP in the PSTN." Reference - "ETSI TS 124 229 [1], Clauses 5.11.2" + "ETSI TS 124 229 [1], Clause 5.11.2" Config Id CF_VoLTE_INT_ES @@ -475,7 +475,7 @@ Package TP_E_CSCF { Test objective "Verify that the E-CSCF successfully processes an initial INVITE from the P-CSCF and routes the request to the BGCF for a PSAP in the PSTN and includes the LRF provided URI in the Request-URI." Reference - "ETSI TS 124 229 [1], Clauses 5.11.2" + "ETSI TS 124 229 [1], Clause 5.11.2" Config Id CF_VoLTE_INT_ES @@ -573,7 +573,7 @@ Package TP_E_CSCF { Test objective "Verify that the E-CSCF successfully processes a BYE from the P-CSCF for an Emergency Call and routes the request to the PSAP in the IM CN subsystem of own network." Reference - "ETSI TS 124 229 [1], Clauses 5.11.2" + "ETSI TS 124 229 [1], Clause 5.11.2" Config Id CF_VoLTE_INT_ES @@ -615,9 +615,9 @@ Package TP_E_CSCF { Test objective "Verify that the E-CSCF successfully processes a BYE from the PSAP in the IM CN subsystem for an Emergency Call and routes the request to the P-CSCF of home network." Reference - "ETSI TS 124 229 [1], Clauses 5.11.2" + "ETSI TS 124 229 [1], Clause 5.11.2" - Config Id CF_VxLTE_INT + Config Id CF_VoLTE_INT_ES PICS Selection NONE @@ -656,7 +656,7 @@ Package TP_E_CSCF { Test objective "Verify that the E-CSCF successfully processes a BYE from the P-CSCF for an Emergency Call and routes the request to the IBCF for a PSAP in another network." Reference - "ETSI TS 124 229 [1], Clauses 5.11.2" + "ETSI TS 124 229 [1], Clause 5.11.2" Config Id CF_VoLTE_INT_ES @@ -699,7 +699,7 @@ Package TP_E_CSCF { Test objective "Verify that the E-CSCF successfully processes a BYE from the IBCF for a PSAP in another network for an Emergency Call and routes the request to the P-CSCF." Reference - "ETSI TS 124 229 [1], Clauses 5.11.2" + "ETSI TS 124 229 [1], Clause 5.11.2" Config Id CF_VoLTE_INT_ES @@ -740,7 +740,7 @@ Package TP_E_CSCF { Test objective "Verify that the E-CSCF successfully processes a BYE from the P-CSCF for an Emergency Call and routes the request to the BGCF for a PSAP in the PSTN." Reference - "ETSI TS 124 229 [1], Clauses 5.11.2" + "ETSI TS 124 229 [1], Clause 5.11.2" Config Id CF_VoLTE_INT_ES @@ -783,7 +783,7 @@ Package TP_E_CSCF { Test objective "Verify that the E-CSCF successfully processes a BYE from the BGCF for a PSAP in the PSTN for an Emergency Call and routes the request to the P-CSCF." Reference - "ETSI TS 124 229 [1], Clauses 5.11.2" + "ETSI TS 124 229 [1], Clause 5.11.2" Config Id CF_VoLTE_INT_ES @@ -824,7 +824,7 @@ Package TP_E_CSCF { Test objective "Verify that the E-CSCF successfully processes a CANCEL from the P-CSCF for an Emergency Call under establishment and routes the request to the PSAP in the IM CN subsystem of own network." Reference - "ETSI TS 124 229 [1], Clauses 5.11.2" + "ETSI TS 124 229 [1], Clause 5.11.2" Config Id CF_VoLTE_INT_ES @@ -867,7 +867,7 @@ Package TP_E_CSCF { Test objective "Verify that the E-CSCF successfully processes a CANCEL from the P-CSCF for an Emergency Call under establishment and routes the request to the IBCF for a PSAP in another network." Reference - "ETSI TS 124 229 [1], Clauses 5.11.2" + "ETSI TS 124 229 [1], Clause 5.11.2" Config Id CF_VoLTE_INT_ES @@ -910,7 +910,7 @@ Package TP_E_CSCF { Test objective "Verify that the E-CSCF successfully processes a CANCEL from the P-CSCF for an Emergency Call under establishment and routes the request to the BGCF for a PSAP in the PSTN." Reference - "ETSI TS 124 229 [1], Clauses 5.11.2" + "ETSI TS 124 229 [1], Clause 5.11.2" Config Id CF_VoLTE_INT_ES @@ -952,9 +952,9 @@ Package TP_E_CSCF { Test objective "Verify that the E-CSCF successfully processes a 480 response from the PSAP in the IM CN subsystem for an Emergency Call and routes the response to the P-CSCF of home network." Reference - "ETSI TS 124 229 [1], Clauses 5.11.2" + "ETSI TS 124 229 [1], Clause 5.11.2" - Config Id CF_VxLTE_INT + Config Id CF_VoLTE_INT_ES PICS Selection NONE @@ -995,7 +995,7 @@ Package TP_E_CSCF { Test objective "Verify that the E-CSCF successfully processes a 480 response from the IBCF for a PSAP in another network for an Emergency Call and routes the response to the P-CSCF." Reference - "ETSI TS 124 229 [1], Clauses 5.11.2" + "ETSI TS 124 229 [1], Clause 5.11.2" Config Id CF_VoLTE_INT_ES @@ -1038,7 +1038,7 @@ Package TP_E_CSCF { Test objective "Verify that the E-CSCF successfully processes a 480 response from the BGCF for a PSAP in the PSTN for an Emergency Call and routes the response to the P-CSCF." Reference - "ETSI TS 124 229 [1], Clauses 5.11.2" + "ETSI TS 124 229 [1], Clause 5.11.2" Config Id CF_VoLTE_INT_ES @@ -1080,9 +1080,9 @@ Package TP_E_CSCF { Test objective "Verify that the E-CSCF successfully processes a 487 response from the PSAP in the IM CN subsystem for an Emergency Call and routes the response to the P-CSCF of home network." Reference - "ETSI TS 124 229 [1], Clauses 5.11.2" + "ETSI TS 124 229 [1], Clause 5.11.2" - Config Id CF_VxLTE_INT + Config Id CF_VoLTE_INT_ES PICS Selection NONE @@ -1123,7 +1123,7 @@ Package TP_E_CSCF { Test objective "Verify that the E-CSCF successfully processes a 487 response from the IBCF for a PSAP in another network for an Emergency Call and routes the response to the P-CSCF." Reference - "ETSI TS 124 229 [1], Clauses 5.11.2" + "ETSI TS 124 229 [1], Clause 5.11.2" Config Id CF_VoLTE_INT_ES @@ -1166,7 +1166,7 @@ Package TP_E_CSCF { Test objective "Verify that the E-CSCF successfully processes a 487 response from the BGCF for a PSAP in the PSTN for an Emergency Call and routes the response to the P-CSCF." Reference - "ETSI TS 124 229 [1], Clauses 5.11.2" + "ETSI TS 124 229 [1], Clause 5.11.2" Config Id CF_VoLTE_INT_ES diff --git a/test_purposes/Gm/TP_GM.tplan2 b/test_purposes/Gm/TP_GM.tplan2 index c3c4a59..eceb18d 100644 --- a/test_purposes/Gm/TP_GM.tplan2 +++ b/test_purposes/Gm/TP_GM.tplan2 @@ -187,7 +187,7 @@ Package TP_GM { Reference "ETSI TS 124 229 [1], Clauses 5.1.6.2 and 5.2.10.5" - Config Id CF_VxLTE_RMI + Config Id CF_VoLTE_RMI_ES PICS Selection NONE @@ -231,7 +231,7 @@ Package TP_GM { Reference "ETSI TS 124 229 [1], Clauses 5.1.6.2 and 5.2.10.5" - Config Id CF_VxLTE_RMI + Config Id CF_VoLTE_RMI_ES PICS Selection NONE @@ -274,7 +274,7 @@ Package TP_GM { Test objective "Verify that the P-CSCF successfully receives an initial emergency INVITE from an unregistered UE." Reference - "ETSI TS 124 229 [1], Clauses 5.1.6.8.2" + "ETSI TS 124 229 [1], Clause 5.1.6.8.2" Config Id CF_VoLTE_INT_ES @@ -311,7 +311,7 @@ Package TP_GM { Test objective "Verify that the P-CSCF successfully receives an initial emergency INVITE from an emergency registered UE." Reference - "ETSI TS 124 229 [1], Clauses 5.1.6.8.3" + "ETSI TS 124 229 [1], Clause 5.1.6.8.3" Config Id CF_VoLTE_INT_ES @@ -349,7 +349,7 @@ Package TP_GM { Test objective "Verify that the P-CSCF successfully receives an initial emergency INVITE from a registered but not emergency registered UE." Reference - "ETSI TS 124 229 [1], Clauses 5.1.6.8.4" + "ETSI TS 124 229 [1], Clause 5.1.6.8.4" Config Id CF_VoLTE_INT_ES @@ -390,7 +390,7 @@ Package TP_GM { Test objective "Verify that the P-CSCF successfully receives an initial eCall type INVITE from an emergency registered UE." Reference - "ETSI TS 124 229 [1], Clauses 5.1.6.11" + "ETSI TS 124 229 [1], Clause 5.1.6.11" Config Id CF_VoLTE_INT_ES @@ -436,7 +436,7 @@ Package TP_GM { an updated MSD." Reference - "ETSI TS 124 229 [1], Clauses 5.1.6.11.3" + "ETSI TS 124 229 [1], Clause 5.1.6.11.3" Config Id CF_VoLTE_INT_ES @@ -479,7 +479,7 @@ Package TP_GM { Test objective "Verify that the P-CSCF successfully receives an initial emergency INVITE from a registered but not emergency registered UE." Reference - "ETSI TS 124 229 [1], Clauses 5.1.6.8.4" + "ETSI TS 124 229 [1], Clause 5.1.6.8.4" Config Id CF_VoLTE_RMI_ES @@ -520,7 +520,7 @@ Package TP_GM { Test objective "Verify that the P-CSCF successfully processes a BYE for an emergency call." Reference - "ETSI TS 124 229 [2] Clauses 5.1.6.9" + "ETSI TS 124 229 [2] Clause 5.1.6.9" Config Id CF_VoLTE_INT_ES diff --git a/test_purposes/Gx/TP_GX.tplan2 b/test_purposes/Gx/TP_GX.tplan2 index a946a96..e7488b7 100644 --- a/test_purposes/Gx/TP_GX.tplan2 +++ b/test_purposes/Gx/TP_GX.tplan2 @@ -29,7 +29,7 @@ Package TP_GX { Test objective "Verify that IUT when receives CC-Request for PCC Rules containing IMSI for emergency services sends a CC-Answer in case of attachment procedure." Reference - "TS 129 212 [9], clauses 4.5.15.2.1" + "TS 129 212 [9], clause 4.5.15.2.1" Config Id CF_VoLTE_INT_ES @@ -113,7 +113,7 @@ Package TP_GX { Test objective "Verify that IUT when receives CC-Request for PCC Rules containing IMEI for emergency call sends a CC-Answer in case of attachment procedure." Reference - "TS 129 212 [9], clauses 4.5.15.2.1" + "TS 129 212 [9], clause 4.5.15.2.1" Config Id CF_VoLTE_INT_ES diff --git a/test_purposes/Mw/TP_MW_IS.tplan2 b/test_purposes/Mw/TP_MW_IS.tplan2 index 5d74dd9..566a0d1 100644 --- a/test_purposes/Mw/TP_MW_IS.tplan2 +++ b/test_purposes/Mw/TP_MW_IS.tplan2 @@ -179,7 +179,7 @@ Package TP_MW_IS { Reference "ETSI TS 124 229 [1], Clauses 5.1.6.2 and 5.2.10.5" - Config Id CF_VxLTE_RMI + Config Id CF_VoLTE_RMI_ES PICS Selection NONE @@ -218,7 +218,7 @@ Package TP_MW_IS { Reference "ETSI TS 124 229 [1], Clauses 5.1.6.2 and 5.2.10.5" - Config Id CF_VxLTE_RMI + Config Id CF_VoLTE_RMI_ES PICS Selection NONE diff --git a/test_purposes/Mw/TP_MW_PS.tplan2 b/test_purposes/Mw/TP_MW_PS.tplan2 index 0512125..f2fbad4 100644 --- a/test_purposes/Mw/TP_MW_PS.tplan2 +++ b/test_purposes/Mw/TP_MW_PS.tplan2 @@ -164,9 +164,9 @@ Package TP_MW_PS { Test objective "Verify that the P-CSCF rejects invalid credentials within registration (Unsuccessful)." Reference - "ETSI TS 124 229 [1], Clauses 5.2.2.1" + "ETSI TS 124 229 [1], Clause 5.2.2.1" - Config Id CF_VxLTE_RMI_B + Config Id CF_VoLTE_RMI_ES PICS Selection NONE @@ -355,7 +355,7 @@ Package TP_MW_PS { if the IM CN subsystem of the P-CSCF is not capable to handle emergency sessions." Reference - "ETSI TS 124 229 [1], Clauses 5.2.10.5" + "ETSI TS 124 229 [1], Clause 5.2.10.5" Config Id CF_VoLTE_INT_ES @@ -452,7 +452,7 @@ Package TP_MW_PS { if the E-CSCF informs the P-CSCF that Emergency Services are currently not available." Reference - "ETSI TS 124 229 [1], Clauses 5.2.10.5" + "ETSI TS 124 229 [1], Clause 5.2.10.5" Config Id CF_VoLTE_INT_ES @@ -776,7 +776,7 @@ Package TP_MW_PS { Test objective "Verify that the P-CSCF sends an INFO request demanding a transfer of updated MSD." Reference - "ETSI TS 124 229 [1], clauses 5.1.6.11.3" + "ETSI TS 124 229 [1], clause 5.1.6.11.3" Config Id CF_VoLTE_INT_ES -- GitLab From 0593f0d89e43a3f1703bce34b66025c749549138 Mon Sep 17 00:00:00 2001 From: Bostjan Date: Fri, 10 Nov 2023 16:21:38 +0100 Subject: [PATCH 20/32] Latest MSC sources and figures added --- msc_scripts/TD_VoLTE_ECO_INT_INI_01_03.png | Bin 0 -> 170973 bytes msc_scripts/TD_VoLTE_ECO_INT_INI_01_03.txt | 62 ++++++++ msc_scripts/TD_VoLTE_ECO_INT_INI_04.png | Bin 0 -> 220317 bytes msc_scripts/TD_VoLTE_ECO_INT_INI_04.txt | 66 +++++++++ msc_scripts/TD_VoLTE_ECO_INT_INI_05.png | Bin 0 -> 205830 bytes msc_scripts/TD_VoLTE_ECO_INT_INI_05.txt | 70 +++++++++ msc_scripts/TD_VoLTE_ECO_INT_INI_06.png | Bin 0 -> 258769 bytes msc_scripts/TD_VoLTE_ECO_INT_INI_06.txt | 76 ++++++++++ msc_scripts/TD_VoLTE_ECO_INT_INI_07.png | Bin 0 -> 203029 bytes msc_scripts/TD_VoLTE_ECO_INT_INI_07.txt | 69 +++++++++ msc_scripts/TD_VoLTE_ECO_INT_INI_08.png | Bin 0 -> 256417 bytes msc_scripts/TD_VoLTE_ECO_INT_INI_08.txt | 75 ++++++++++ msc_scripts/TD_VoLTE_ECO_INT_INI_09.png | Bin 0 -> 101965 bytes msc_scripts/TD_VoLTE_ECO_INT_INI_09.txt | 63 ++++++++ msc_scripts/TD_VoLTE_ECO_INT_INI_10.png | Bin 0 -> 316316 bytes msc_scripts/TD_VoLTE_ECO_INT_INI_10.txt | 128 ++++++++++++++++ msc_scripts/TD_VoLTE_ECO_INT_REJ_02.png | Bin 0 -> 63400 bytes msc_scripts/TD_VoLTE_ECO_INT_REJ_02.txt | 48 ++++++ msc_scripts/TD_VoLTE_ECO_INT_REJ_03.png | Bin 0 -> 63967 bytes msc_scripts/TD_VoLTE_ECO_INT_REJ_03.txt | 48 ++++++ msc_scripts/TD_VoLTE_ECO_INT_REL_02.png | Bin 0 -> 182706 bytes msc_scripts/TD_VoLTE_ECO_INT_REL_02.txt | 95 ++++++++++++ msc_scripts/TD_VoLTE_ECO_RMI_INI_01.png | Bin 0 -> 193789 bytes msc_scripts/TD_VoLTE_ECO_RMI_INI_01.txt | 69 +++++++++ msc_scripts/TD_VoLTE_ECO_RMI_INI_03.png | Bin 0 -> 64228 bytes msc_scripts/TD_VoLTE_ECO_RMI_INI_03.txt | 38 +++++ msc_scripts/TD_VoLTE_EMC_INT_ATT_01.png | Bin 0 -> 69393 bytes msc_scripts/TD_VoLTE_EMC_INT_ATT_01.txt | 36 +++++ msc_scripts/TD_VoLTE_EMC_INT_ATT_02.png | Bin 0 -> 69105 bytes msc_scripts/TD_VoLTE_EMC_INT_ATT_02.txt | 36 +++++ msc_scripts/TD_VoLTE_EMC_INT_DTC_01.txt | 30 ++++ msc_scripts/TD_VoLTE_EMC_INT_DTC_02.png | Bin 0 -> 145224 bytes msc_scripts/TD_VoLTE_EMC_INT_DTC_02.txt | 68 +++++++++ msc_scripts/TD_VoLTE_EMC_INT_INI_01.png | Bin 0 -> 194399 bytes msc_scripts/TD_VoLTE_EMC_INT_INI_01.txt | 69 +++++++++ msc_scripts/TD_VoLTE_EMC_INT_REG_01.png | Bin 0 -> 91489 bytes msc_scripts/TD_VoLTE_EMC_INT_REG_01.txt | 53 +++++++ msc_scripts/TD_VoLTE_EMC_INT_REG_02.png | Bin 0 -> 92191 bytes msc_scripts/TD_VoLTE_EMC_INT_REG_02.txt | 53 +++++++ msc_scripts/TD_VoLTE_EMC_INT_REL_01.png | Bin 0 -> 184122 bytes msc_scripts/TD_VoLTE_EMC_INT_REL_01.txt | 93 ++++++++++++ msc_scripts/TD_VoLTE_EMC_RMI_ATT_01.png | Bin 0 -> 69345 bytes msc_scripts/TD_VoLTE_EMC_RMI_ATT_01.txt | 36 +++++ msc_scripts/TD_VoLTE_EMC_RMI_ATT_02.png | Bin 0 -> 69055 bytes msc_scripts/TD_VoLTE_EMC_RMI_ATT_02.txt | 36 +++++ msc_scripts/TD_VoLTE_EMC_RMI_REG_01.png | Bin 0 -> 83961 bytes msc_scripts/TD_VoLTE_EMC_RMI_REG_01.txt | 44 ++++++ msc_scripts/TD_VoLTE_NGC_INT_ABT_01.png | Bin 0 -> 304288 bytes msc_scripts/TD_VoLTE_NGC_INT_ABT_01.txt | 163 +++++++++++++++++++++ msc_scripts/TD_VoLTE_NGC_INT_INF_01.png | Bin 0 -> 188822 bytes msc_scripts/TD_VoLTE_NGC_INT_INF_01.txt | 76 ++++++++++ msc_scripts/TD_VoLTE_NGC_INT_INI_01.png | Bin 0 -> 224190 bytes msc_scripts/TD_VoLTE_NGC_INT_INI_01.txt | 62 ++++++++ msc_scripts/TD_VoLTE_NGC_INT_REJ_01.png | Bin 0 -> 328661 bytes msc_scripts/TD_VoLTE_NGC_INT_REJ_01.txt | 102 +++++++++++++ msc_scripts/TD_VxLTE_EMC_INT_DTC_01.png | Bin 0 -> 39010 bytes 56 files changed, 1864 insertions(+) create mode 100644 msc_scripts/TD_VoLTE_ECO_INT_INI_01_03.png create mode 100644 msc_scripts/TD_VoLTE_ECO_INT_INI_01_03.txt create mode 100644 msc_scripts/TD_VoLTE_ECO_INT_INI_04.png create mode 100644 msc_scripts/TD_VoLTE_ECO_INT_INI_04.txt create mode 100644 msc_scripts/TD_VoLTE_ECO_INT_INI_05.png create mode 100644 msc_scripts/TD_VoLTE_ECO_INT_INI_05.txt create mode 100644 msc_scripts/TD_VoLTE_ECO_INT_INI_06.png create mode 100644 msc_scripts/TD_VoLTE_ECO_INT_INI_06.txt create mode 100644 msc_scripts/TD_VoLTE_ECO_INT_INI_07.png create mode 100644 msc_scripts/TD_VoLTE_ECO_INT_INI_07.txt create mode 100644 msc_scripts/TD_VoLTE_ECO_INT_INI_08.png create mode 100644 msc_scripts/TD_VoLTE_ECO_INT_INI_08.txt create mode 100644 msc_scripts/TD_VoLTE_ECO_INT_INI_09.png create mode 100644 msc_scripts/TD_VoLTE_ECO_INT_INI_09.txt create mode 100644 msc_scripts/TD_VoLTE_ECO_INT_INI_10.png create mode 100644 msc_scripts/TD_VoLTE_ECO_INT_INI_10.txt create mode 100644 msc_scripts/TD_VoLTE_ECO_INT_REJ_02.png create mode 100644 msc_scripts/TD_VoLTE_ECO_INT_REJ_02.txt create mode 100644 msc_scripts/TD_VoLTE_ECO_INT_REJ_03.png create mode 100644 msc_scripts/TD_VoLTE_ECO_INT_REJ_03.txt create mode 100644 msc_scripts/TD_VoLTE_ECO_INT_REL_02.png create mode 100644 msc_scripts/TD_VoLTE_ECO_INT_REL_02.txt create mode 100644 msc_scripts/TD_VoLTE_ECO_RMI_INI_01.png create mode 100644 msc_scripts/TD_VoLTE_ECO_RMI_INI_01.txt create mode 100644 msc_scripts/TD_VoLTE_ECO_RMI_INI_03.png create mode 100644 msc_scripts/TD_VoLTE_ECO_RMI_INI_03.txt create mode 100644 msc_scripts/TD_VoLTE_EMC_INT_ATT_01.png create mode 100644 msc_scripts/TD_VoLTE_EMC_INT_ATT_01.txt create mode 100644 msc_scripts/TD_VoLTE_EMC_INT_ATT_02.png create mode 100644 msc_scripts/TD_VoLTE_EMC_INT_ATT_02.txt create mode 100644 msc_scripts/TD_VoLTE_EMC_INT_DTC_01.txt create mode 100644 msc_scripts/TD_VoLTE_EMC_INT_DTC_02.png create mode 100644 msc_scripts/TD_VoLTE_EMC_INT_DTC_02.txt create mode 100644 msc_scripts/TD_VoLTE_EMC_INT_INI_01.png create mode 100644 msc_scripts/TD_VoLTE_EMC_INT_INI_01.txt create mode 100644 msc_scripts/TD_VoLTE_EMC_INT_REG_01.png create mode 100644 msc_scripts/TD_VoLTE_EMC_INT_REG_01.txt create mode 100644 msc_scripts/TD_VoLTE_EMC_INT_REG_02.png create mode 100644 msc_scripts/TD_VoLTE_EMC_INT_REG_02.txt create mode 100644 msc_scripts/TD_VoLTE_EMC_INT_REL_01.png create mode 100644 msc_scripts/TD_VoLTE_EMC_INT_REL_01.txt create mode 100644 msc_scripts/TD_VoLTE_EMC_RMI_ATT_01.png create mode 100644 msc_scripts/TD_VoLTE_EMC_RMI_ATT_01.txt create mode 100644 msc_scripts/TD_VoLTE_EMC_RMI_ATT_02.png create mode 100644 msc_scripts/TD_VoLTE_EMC_RMI_ATT_02.txt create mode 100644 msc_scripts/TD_VoLTE_EMC_RMI_REG_01.png create mode 100644 msc_scripts/TD_VoLTE_EMC_RMI_REG_01.txt create mode 100644 msc_scripts/TD_VoLTE_NGC_INT_ABT_01.png create mode 100644 msc_scripts/TD_VoLTE_NGC_INT_ABT_01.txt create mode 100644 msc_scripts/TD_VoLTE_NGC_INT_INF_01.png create mode 100644 msc_scripts/TD_VoLTE_NGC_INT_INF_01.txt create mode 100644 msc_scripts/TD_VoLTE_NGC_INT_INI_01.png create mode 100644 msc_scripts/TD_VoLTE_NGC_INT_INI_01.txt create mode 100644 msc_scripts/TD_VoLTE_NGC_INT_REJ_01.png create mode 100644 msc_scripts/TD_VoLTE_NGC_INT_REJ_01.txt create mode 100644 msc_scripts/TD_VxLTE_EMC_INT_DTC_01.png diff --git a/msc_scripts/TD_VoLTE_ECO_INT_INI_01_03.png b/msc_scripts/TD_VoLTE_ECO_INT_INI_01_03.png new file mode 100644 index 0000000000000000000000000000000000000000..16088f4e0859d1999cabf2cd0cf6d09b023a0476 GIT binary patch literal 170973 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

Skx+KD|`7Td)1!_S?4! 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

cx{mKH9tE!$L;$yZ3E3)UVCF`0USTbS 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 UvWumbfCk$=UHx3vIVCg!0PdnDq5uE@ literal 0 HcmV?d00001 diff --git a/msc_scripts/TD_VoLTE_ECO_INT_INI_04.txt b/msc_scripts/TD_VoLTE_ECO_INT_INI_04.txt new file mode 100644 index 0000000..b44e0ca --- /dev/null +++ b/msc_scripts/TD_VoLTE_ECO_INT_INI_04.txt @@ -0,0 +1,66 @@ +@startuml "TD_VoLTE_ECO_INT_INI_04.png" + + +!include etsi-style.iuml +!pragma teoz true +' +'Figure: Emergency Session Establishment with LRF, PSAP in same IM CN subsystem +' +''title Figure : Emergency Session Establishment with LRF, PSAP in same IM CN subsystem +' +participant "UE A" +box "EPC A" #LightBlue + participant PGw + participant "PCRF" +end box +box "IMS A" #LightBlue + participant "P-CSCF" + participant "E-CSCF" + participant "LRF" +end box + participant "PSAP" + +rnote right "UE A" : Gm +& rnote right "P-CSCF" : Mw +& rnote right "E-CSCF" : Ml, Mm +& rnote right "PCRF" : Rx +& rnote right "PGw" : Gx +& rnote left "LRF" : Ml + +' +"UE A" -> "P-CSCF" : INVITE +"P-CSCF" -> "PCRF" : AAR +rnote over "PCRF", PGw #FFAAAA: Policy decision +"PCRF" -> "PGw" : RAR +rnote over "PCRF", PGw #FFAAAA: Installation of the Session Bearer +"PGw" -> "PCRF" : RAA +& "PCRF" -> "P-CSCF" : AAA +"PGw" -> "PCRF" : CCR +& "PCRF" -> "P-CSCF" : RAR + "P-CSCF" -> "PCRF" : RAA +& "PCRF" -> "PGw" : CCA + "P-CSCF" -> "E-CSCF" : INVITE +rnote over "E-CSCF", LRF #FFAAAA: Network operator determined LRF use + "E-CSCF" -> "LRF" : INVITE + "LRF" -> "E-CSCF" : 3xx Any\n(Contact header with LRF provided SIP_URI) + "E-CSCF" -> "PSAP" : INVITE\n(Route header with LRF provided SIP_URI) +"PSAP" -> "E-CSCF" : 183 Session Progress\n(SDP answer) +& "E-CSCF" -> "P-CSCF" : 183 Session Progress\n(SDP answer) +& "P-CSCF" -> "PCRF" : AAR +& "PCRF" -> "PGw" : RAR +rnote over "PCRF", PGw #FFAAAA: Modification of the Session Bearer +"PGw" -> "PCRF" : RAA +& "PCRF" -> "P-CSCF" : AAA +"P-CSCF" -> "UE A" : 183 Session Progress\n(SDP answer) +"UE A" <--> "PSAP" : Early Media +"PSAP" -> "E-CSCF" : 180 Ringing +& "E-CSCF" -> "P-CSCF" : 180 Ringing +&"P-CSCF" -> "UE A" : 180 Ringing +"PSAP" -> "E-CSCF" : 200 OK +& "E-CSCF" -> "P-CSCF" : 200 OK +& "P-CSCF" -> "UE A" : 200 OK +"UE A" -> "P-CSCF" : ACK +& "P-CSCF" -> "E-CSCF" : ACK +& "E-CSCF" -> "PSAP" : ACK +"UE A" <--> "PSAP" : Media Exchange +@enduml diff --git a/msc_scripts/TD_VoLTE_ECO_INT_INI_05.png b/msc_scripts/TD_VoLTE_ECO_INT_INI_05.png new file mode 100644 index 0000000000000000000000000000000000000000..c848bb4301a7813172c94d1eb63ffaeea120b003 GIT binary patch literal 205830 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φGLoQt+N~^tyVUzpnA;{+aB}6>Ir4)W5y? zzUzNjlt{@~%qkD^bVK5pN>%abG6?9IBc!yK#hGOow%tulFj;G%YY z`R0h|jX_Hn2rrBCpQFA%dHTD(XD%ExDNU|xRy$kM7-00i;G_7QxT?3jNe8-V}S$(I~vNt8COZ53;sdN@lwF;(qPn62m&es^e6nx({P5%6N9|9ETeKR#PF7yVF|TUfZ_Jk8UK6ciSDUtO&L>t+Rc8z^kmQ8&vhou_{QJiJ#{uj;5L z(qgeU@N4<^GSS&r>~_zSiuAf%E_$MP>zewj&qZrgH#eMK_d4WFWXPe3FDpO&<(V^Y z)w;Qx>(b{eaBBUz|9<)P$Nt@k*Y8xdTdjEm3cl?z2dhpy+n#CttEP6UHR;_I-#0w7 zqqu~GdXiTLE_S=tswQooCzAd8%F54&`R(sizu)`lYxerRVm2oZP4>6bJocsb*UX*! zv>(^HDVdcPuK3NCk)6YTf^+9;(Ds~jTSc?8D$Cc~6+OJ!EA_vu_gnAw6Rl^@?RU7F z%keho^k==?=bLx>#rW#Bez*VI^l_S$*(PnBPxr6>JowJhT5+q3zU1wuhK_Y%kb@wg zJN_E3Y_geA9I)qPyvK}>(NZ&Z8Qzb%_xY+LXukR1x%Ck%C*63mkuiTow(n8-Kilm- zfkwZdP1^n}?c{sWU+1QRW=CrMznZQ;vgOx_?!QN$iO1Kz{p4`yk?}gObrK~%vu3{P zdO2;|`M(V~Sj8Mr`uD`a989k;!?blPI0X;+Wnud?K%3asQw}6 z=S$~a=k0gDyCI_eOq7QC%wOlKN^?1$nw~bzzP`~~UTaH|wq(j4gQ~6=C4Yst-!3tf z7D&GAdO6L`^hvIzuW!`0xIZW5r?Hs?zHz1^?o=lc4;tNmn^JAAyox#gr1?%6yxV>&zA{Qtw*`@8e6oKHVf zboJF$@%KMNYV&7F-)0U{EBtys(@IHq_x~$5i!RkpyHXT+@cKv5-v7ypFaCKo?OeD* z>)8XLyGB>_w$9m8^Y#O)cWNouF26lDt^`#)6g{^1*qU^)*>)d)8EjmY`TFzKxf7xm zP4CHdbZ`k@4LQRDKH3o}wHC2LmSssCY(TxGh|!^h0+znG@CuG)S=M>*E;?j_Y~`|PXVf-HAFQr@+z zczW@<_62oyF?eHN)D;jfV?7kKA@6{5O((`3)9=b=TZ@2rj!hfgV9lfnJnQu%sZm3#& z%aXm1t#*3abLsO9RYfN_O4XN4d!d>fEg*35>Z?!zr2T;tqNWM!@B0-M-%w_LCq=I& z@r%gLfD22mR=x^5s+FG;{(p|zt5p}~RWB^eeF@shy{^mU=aWZ%-)%DV4E6uWOfiX< zjThUMx@+mp-}|TZyKYia(|fu&_SFM{Su3BmPLIEOEj+p^c=`R(cXxKy{{9xaTB`r2 z*q!?SfB*k|U*GI~;Qznt3!T~H6FQt;^~{M%-6$4l7Wl(DIO%2xby^Wozwt2Y~$fab{szgiXU zzEX7Z-uYEw=6O0FsvgD5<^Ozy_Xt;p+$D4Q1R=-_gFC3+(9 z^O=!2=e^p_kNeu)mZaKSrnpR9b@fbZZ}gUs?ONBY=t~FJ0>D)!~=5QaLVTS#)IApF`aGBB$q9K9hWX=>OkeA@Um!|BqaCJR?5( z=iW2Fg%)jrguu+z<}qXKs`p|B-IT>z%ikPCFDW_fB(KeDUqM z*IGYqjFo-A=lre-SA=XcZ;GKk~!mG>J$F|Z*P4U zHT<`Rt@ldk!o3UT7CyFoeR9%7ZTatktKUTyUwiL!bHnYBdwUJ_^z=Y$wN}q~z3An; zpRW`wH($-VB4eQIS`(&x`Lopa3{CNES=BE=16gakuKMWyR^h3?cs=S@(EaDDLyh_7 z-P>DT|NHIsgZ4l78zmfIFno5&Ti>?IstC4ma&|MQW!=WxE0O)=#KfdC>Fj*!zi)ZI zHn%!1&T;4J_T`&X%N@jKM|I6NDqi?C=5*%!x)it!KMZ zcYWrQUte2h`}5=%uZq(#c3#+r&U_rcCPHw}uM(}$b$c?NCw`U9%DyQ(;pnnynYX{q=Kj6M z^q7o|V)@jaf3|9FzOwhGq-U07$=r$#(1fCT$!z{NQgi00?aR5bW#`@I6K|W2as+$7 z%kF%7YLhlc#|tZr%47B;|G!5}qnE9}qcDHx#SM|%@eSwr%fi{kvmd=WTQqsQ__I~n zzU->{8D(*^cgxk^s`>J{Sozp*rh}I!?OoW{@_XK^>WiVWYa(awF`m1?adH~(Y%~5% zX|l=|t3$u*eASdOysmrM_VwYnpM-^dB0nxH4ZT~n|47HRbcgn9dRs;8A7o!&w>Ds5 zQ$*?Sx7%m)-!}aC`)^WcO-;?|M=N4?Z;QCSEjPOO&))C%w5MHJ8SKtyvE8+sZJ*Yq zw&y0j+%=2UG5&Jx92`OJ#Rf9my}yp=e#X%xR{i7`R#?Ah6UY;5p>$n?IhS79#P4|i>O}kVIae1R##oogdB}pZDoz{9!x8{N6w6UuMr(v95P*de*L`FK_do{jISm zy*~QpYE3b;ub#{Z=XTfOgGoxqEO3-u`#rs%siGF8{KLU%i)YpXU8b zJCU<11XNOG9%?>vm0-_Iwwfh`5|5pG1d_H>X)z#JYKc7y2cK%?!T4wzxDU8*O(sRpVM>Xj`Q)Sy=vK4*8M#;=gWevpp#W* zYnf%1#$DK}pT7P!WLLT2wa(S%?72VQd?+-^-fUOmx=g*Wuu!q+>hku!N&hFTe7`3A z`mq4@<CuFkmh=qhJ&`t+n@PiJ=8J!X2_)xXcI;#ajao9bEf`Nx9yhUMK1oS(+xR3Au8#nX0vzT7T1?ztT9sxOMN6G%UBr&W0#|xvB9`9 z^~*1A|0Q)hvR#U%{m}M^y2OxO`Jl(ucq7-Mz|X~(x4jKF=gb9d*Ovd*6eb@3$zi^D zwd$U)A3m=?W&fc5`EG-ipwnTPR6>> z)yMz(?|;DkWWy`d{Z&zA>`P*^G~fJ5FfX1uRV-I;Qu*oLJ3>pRovz>O7n3wSN>BU8 zuQzVJM;$>c$5uEUZD+cD^W(bTM>njxnyvHi z3ID5G5s}L->&DFa|8mNk@A2~X>T1SzfA{jf+I;<}`=zR`8jRp$z7$d*BlO6xAWPo`1`ZgSAKqW&HdMktA}fZLbgw5U-drN`SiO6 zo{3S z4;Nj3?7#Zz zMCN8jf9s8XAa9^`@|U^43F9=A=MOeEUJic$^6wj6{_izw{tJA*H}N89`N-EJmA3J+ zUqFd(&!i8JW~|hde;d@k@?6~Z$4?6{A5|-I-Z;7E&jan3m$u1E%zY`&7Mr=ws{VAG zOHa+t~iM##de~Tt7i#_Y;|Nd;9?Yr7fJEtG>i{A2igO$#f zq^_swvv=<`a0&kLa{2r`t`E!Y|GvDjG5OP1P{U(EqGQd!pU;byJoxbN@U_sRVf=*` zy2^vDZD%UzPAzfJpzm8@(yXZ{&DW_%?LgsXtjKl->L&YV{)y6Z`oB=YAFJ z-ldzhNGit5b)`7#{Tjbm9*nfOXHJyU6Oq~03+7g~_p7hJ_32qp>#O^g7uh2s_+meu zOut-ooo%jPbY1!#$T<7DYkE6Gx;E)|?f)UVAg{HfLlv=2c!IS{#o z!l!;GShs}zu{Hj__|HVmo3G@J!%inRv@SKOzAtY4=QX?ktkvf>ai>8YBxg`kpeedv z>fIALc0Y9+e#;UGV~suDAS1eHi|&p`&9PVkWqV{i^G2{@&;57+pB;Nkx>%w>Jf`ZM6DaI#!%T9CcoA>wM zx9vigukQDMqjQ~6tgZOrHRi`+y8Q<8%8vI~-xdk76}admJ-`OfHPi+r4Nf-0U`q$;3o_)EyUZ92}*5L6uv(^xPmoGC^ zdG(e)67Tx4RjF?03Tqb^mv-q8h7X{9;R}l2J+S|D{HOHyo_W)+*M}_nDM=BVWTiUnaOMXG9vC8g3PiC=Xd$CYALr~>!a!2KSY)5F0T0P;&LSlJ_))Y{oRD> z4-uD6`8qGx3;6%4!=;=h;>YUB_WiTAR=wUZDdxBQl59})1)P7?*fDSWm4iz|{_GOm zUvgxlS%-hpYF@ zU3)J1$*#;}+r{)-9Cti1p4Xa2M8r|$+z{7L)p;G;|`r_wH`z;CV} z!|Rn@*8RAuT*ufM@0_LG)UjeZcnH=*_n^b%E0^Lcl)fI0Ri3o@%6{z&$Q|6xoZpG+-(Zl z`!(KQFw~hJwLJRFl`C_$HmjcteQsEE*W|G^*YuFRj=%c%*M0uWZ$D+_{~xFCpUI!T zeY3%jvkFSP!qCFx?~1h?N{iy)KD!&_y|Qrj>94!pmp=O}l@s74DD4Aq6d*X{(pxkt2bCtrP=c26fQ)<7KJF0ZWn>@PS`(vqc-PaY> zZZ1~>A!#MfPZzZAto+>^J@|$^?{9MZpUkQZ`e>B_+6H|7!+Lq6%6Y%q-80yIJv{H% zdHgM_NaMA=dojlHT_4CQ(3zh1F0iX8O>=f#sehMMGI2f2as`D&$OnOf)}LNk`M!4F z#GsE>6{Zm%YTiwlS%1bx;z)LB!-e`M{oLE$NN?Ye^8Ar%&)lioD(CMqw`q1Wx_jEY z`sogENpk^o_KUKOg5btE8eMxdzGnU9Pka*I6bv~}_W|1Bq^hqti}>WctMX4r8;h^3 zpC3h4F9i439&b{=ZzgbldjosbN=Y2tmrQ`j|)%H>r%Pz9dy=xyLW0G_4VRvEi9rp&Chc9;h z?g;BsFYW(5TZGN7>d5(vydDf6B)CRbl6?bANES3!ZH;n+jb5MgKDjFC-o@`Tp*K{l}8>TNBsF_+Ns%)Ph}w;YV{z zN%@>|f!|&Q`Wze#3kdR5yuK+*cGYZn{!x{iNLcw45gIY7UL@bA2FH`8#9jQ=jU z8}GhA z@x}Yq?~c{~-aluWZTs?dHy_?({i7&&cdl6J(~6?6FxRSNI50W<@pv(f;a%UWkLy{! zH#IOYNNr|n+Rv%w^waN0c-*0_F4LIaTdSC;zc8+LeZ5avdh45v{|7(UJwK?qdizf4 zW`30|yZ46msRzR1$lr-wg+aztXp3seZRJY6b+`@vF+uo5|9rp4&rIH0IQ;*Sd28YQ z3!>3?bQLfDxNtXfVpyNLH_Xs}duAbqJ`T?7LR&U7RpjAu>5rMhU*b1>d#w2Q{*Mja zf4Hi4$F4u&yDx8AFXP_@3s(90>?#aTI#{y4HcUUV7LP;c3oluB_hRX( zrf0G3W_h=34;=dXj%|X)pZD)fZlC(N-TvjwL9zRS?m^78ImsF#=VdoXNp zbYNiUjbuD{pG9>T{d#xXH>BGF=%?DdnK7O{h5 zo-}}xsfGb4jed}2XlmZ?sd$kYBvW+YK8vWLh{VGvCGQ`63-U$m0u0qCw_^xuYuwtJ{ugCxrGfI~05{*Hozj$vE(Vih>p<gT?`$uuxyb{M#ZVA={e}Mzt*tURv28aa3+LtCx9=}8_;69V&PRR% zLqao-@?*wSVTpc12?i8fjo)R@oZ{>`{^i{_NJS!lnO(&p$s>0A=KqJj{_I;99Ny-X z4^Dv$XAZ7uFevq0e_?Ca{B3VJ8}KRe6KvM}|%bM^}r`|p@`BIrRadkphp zgT1>8btm(HO`CB4fMSb)6NlmymS2Cr-=AwQQtXLc<$y4{eXtg z`@ERbDu=%?a!!ya&;@0VPXaNgD_XHSiFutW0|SGDTvN8>dR)Q4!oa|A!nr{AvFN(g zH(Yz(H)JP>EGsu(mpUo&R|AU&&yHyz|5S3UOWkv5Yfo(Bci95ooW9oy<-1WG)e zjMs%gWd#4htv%r{U$$?{xw&*gZo26vQ04pT*4)@-b&DtDmNRn*VKr6tlRqe{gACze zfScs<51eHmL@_lmK8RvsU|@KnxMSK0dvHk-zH zRe>(!0S0(5c|VyCDsVudBEbL;n$ADMpn~JTRu%?k5CI8}iS^*}Y{xW)1O|8zpgC3{ zut#R5VP4F!4#9Ip3=9m?7*6zmcJ}m--}&nHe^Wjl=9j!*H`}muRk64u*Y@1gH}>EE z_Wwt{QQ5mQGi-0)ymaox#mMD99{2ZbF-dQJdU|g7r|a=E#XtZ3F8TUes?V$^ca9!3 zzn}7MM{@h-Q}t>-1=C*e|G1rhPV4@J*(=vQ-2L9jJ8bQ#vhz!`+xW}hsm{&L-(0$S zbL0FICnT+}Ma~F6Gk<<*^u9lrBDopb4{k*Z;EGKJ3qSwAmX~{LO78T~)kb`>McXdk z+GE-Dd}+i^qiAo-t&0!NGQBCaL-qO8&Aa>8+}vfl`RV%oR;&M{9AY{B`S1S!#nWE% z?x#BW^bXHSLIJ!mjJ>hmxA`Yh9Pn>Dt?FZ*&@{~Vj;u4!I@ zGOJSxbi>!3`SRn=wYa)MUD<0N-rPLL_OAaKv$9)6vYX~9i4T%7-VHYnVE8tvTz9(O z*%@}WlYf3TuKRQG+x`#rM&c!}57qwGVGou~`SGELm3z~&$FepO4?U+B`D~Zb-uHIh z(>;}u;+r!jZe0@f`n>&I_Uk^g(`uCze?@(5`BeXZdga`_Z2kQ^rtLbly7Bkop9f|b zMv6CNb56LA)&Awa#n*22dWZf#Z$GnsUG(!D9n~n~bgS&IIw$V#-u&lmuk_}v8+T7j zK9;iD%XjO%?Jq*Bm-I-dKioRW)++gU)bBpIw>sBlCT45S_m1uPZBbTYyj@miW9pQ& zz!>kBQd_^pTb-zDiQR1^{pWA_v$o%hk2>jWkIf1--p)M3;(E~)jn_RJ?X`o~`QAFc z*6-j}mJZRF(-ox;9DaRy87;Eu?HV^TP@^<*^J3TkN8vRNa?$j_v*dcw%S&r+?JQm^ z^p|bk{kq~RlgG!S`TAzPdSTG8YFjA_Wr&z%_olC+B)-IaNmiqId^8fWp%0lm$^6g_`csglGi%Fs88iR z?j7}J-O`#5rLQ-|Jg}`^v-_>x`xSxLie0}-{rOVzx^w2Y{{2a=&m#Bzz4pq{($DP& zZ)>~8P3&t}}3^J3}Eq7}W; zYwwnxY-FDK`qbNVMQ%Ivr=*%CHhpf^ShRcEt%|>Yzn_VE8?r98+GO3*puX*~*0YQL zUg|80e)6fLljo>Lu`cW1FAYym8+-5jrL}tFi`VOoPp2yERCS+bclEoOa!t+er>*&pveUlz^4!-lVpf6#e%>z%EqH+6}8Yxn4?`=OXU zeP{7pectO{{@cUuT3tKrH*?a}gp-rbIQ{01Q}aKkvt@SG{y&pS4a>R>4u3WAvA!64 z`u+a%pIF{Ly%>LYb7pYbX6N=zXY?)m^v<8KOE#JIJgO_DJa%7EYS_+sx*E?fUE*H) zbkD7G!QT(Qi~9F1`q>fxyZ3xcu75hMzgZ{5)c)gnd*lCeEI(_+o|ehqeK&E-eNWrn zVSN*XzV4iseLZd3YwqZ+TB{4&a?j-4o3l1%OQQ3&r@9dnLiN(GAK$)vT2afDkn9Qm zbF)Hk#-84oyg9As-)H}82iO>5PXEB!NNG?nyMD>L`kO_%a-UqTZBxK`&EglwEOuD}-@Lr|R-K|^v)nv`}R@WS4dR}OfnHedpyFKS* z*wk6GQkSo?T+$^G>-{_B(#qh?r@p#oozJ_zE{FZ%X4b3PwQtrfty^6!vS|0TPs{IE zsqWOh^xo@Id69PCxvghDZp%J@(eA2=>Ygi6FE1#*eiInu{kCWIYoCpKJ-lXa__g4?(qJW49?kp_n(*2+o)T|HynBw^(tEZ?49$`3>$@NbM7_*~dL{1y2s$akK?@_+x;%T*Y z^O<+=w#uKkIc%N#%L@y2K5L6z53=jtTl471nNK{ow|MRdQUxz zdiJB?;uMJ(@4wfSch0P;`15CTXlcp1)V}Sp_By5a_vOsL^6%olUs|)WHD7#vyg5C3 zu^+F8=9RmOyKgW5tF`m_+gHykx|aE$*SWH8DNmGp_3rG<>G#AL4&iN-+HBknN-Fyp zV`kXi{?wUNcu?fhrFWKD?q~KrG3%Prm}-A$Q);BRarQLRx946*PAglqd)l}D${pg*4YmIJg?fD@m*RJMwX45x5xsrK$N|w8( z6>XpT?aj$u^IzSybAKN7tm3xvz8NPJB_~{r^?s{xy6xT8v$NM8U;8Td&EKUes(p`r zW={)U9bdU5)_ZH%-M;DBn&y`cyM+(r;BEfSbE%Z>pS{$3EoVdZ_q4T#OBbA-Yg=vP z{l!^gvG>fLIPMk6>btTt_do0SHdFfdt=#XA^}lX$xhQycYe@HQQ^8p8T>VqWrs+;kkeG(JDW_a7ShQ(gJxO1B2y|UWlPqyu_Uz~JmicF06PAAo$4Zr4j z7~AeIy1Z-TuWtCLv@6@PX2;hEAJxA{u3lWc`P9>StJh8W?^dI* z(#iVbC7->wG>(=zzghnx@Wy_T)nSpURR?#^G5p2M%izO=w*)*XxO3WK_w>k$-`~@t z4Q*>Gu33i~@y)jW_FQO{xSsV4WA)VskM*8>5w+~bHU0me`=1_uRrLE&`ERG>w`N(< z0mUxso_=~dQ}yM`o9A{{Zr-|kj_X-rpO);*_ZHQsS$0nQ_18)A=Jbc_qf&W|Eq}N1 zUgHUntcx3stVrabJBLY@PQEgX+>sY_ROTuYp0aG-Lz)W+uNJ>`v1A0_5?a(MBS3lU8xsz>vZRqM(z1`?Uv>p?>qCUnO#@C{PVLlx0H)Oku=L@ zNA>or!Izh(Z@&HHgl1=ub0F zZ(8itQ&VsHWtkszycQ=pwo&`TKIV0efiv#i-7(Fx?Ip92g5iTGri!8^>z;N93d-@lnDA-R z8{rps-rHQfAoc(`>!u6mZuU4<|?BhErD`&2^dFH+f)w`#EJ^0pq;%@NM zK6TL*3r(}9eLng(-Yq#tE z*M?P2d6`yr_}scBMY_R<*cRPhcXyxd>43{UGMP8)%QCOO_lWg&{8svBkA2ArtMzqH zl9Xaji_G>f|B!I)_HE(kQCySN-79A9m~+CeBJKRSXWsw*ZvVWeYSHRDs=rwxayxGK zp7Wfn<9+en`Lvew!d>xV^-I<*-H;O*wsWyRV-Mb5{)3Ypg45nFyYMVT$K$bPu+HV; zk4dlhe|{EuZT8-SH#W{}pUV6FonZ8>i|e1*DY^BYx>Nh*#TlXB>?J1Go?bduyP~5< zK3_8ZQ{~hBS*wy=o;*rFvticRnUmi>uK$_(q*}>5IKJoZrXOWK6tu>E6O@QTzJspUYbU%5raitG7}(v2C-}%cp;) z&Zq{B`eKZo9bm&TEn=XpZXidO!Agc3xaOqNp0XTECN$g%9f#ap#Pry3@9w|8T+H&e zkB)y~B;p?~PqTtb*%g3Yq>?a-Mm(9qHhzfUEj)8E4m3f9wo7*B>HC2UC~W%^B5ctq0BX4$-Yf* zqTb!wYA%ws3_cwFzcu=60&FmP(B%-17zc@6MXyb_hw4PH`}5TN-lKI__x!r}{F2)Q z-tyd%wzapGeakh?SfcgPpsY=+^6g~5ci+0U@BT8G?dkiqi~hZ_te$ym>BaQBcY5EN zWZe&)b+X+na<8xKlU-cpt5+43-(Af&Nm-sxdU4s#rJtJLMVU8G`($tQq5lYL%e~_8 zxU$1%jh5usK2R)ws~+#SGVJ?O?bG+wc-QUu`R$edo?C^FWXdhciwWZ zSzmnvRX07%TQ79wxzo~9EnQdZ7tZrio~{=grMME{x2>p^E`PPyD~exsu~(n{%82ih-gkC$ z=$riakeX9=?dGm0hfc4bG-=cI`%m(6oesbFO(6#IMi<~wlt$Ow3vS0Y~vw`o+ zq!*M~KED6l^0m^+`-e*3X)}5VbaHcu%CB44_9gQ9^exl*<2V1kr~W#n_s3zakQD`Q z&1diG7j8X&{Cv>wx=&9#U;dX2!mJ`SSU^>UAdBmzH$?`FSlm|KzvO@L1K`yUX8)srS0B4qqR}UJ~YV z>7@Gnoc(MqLb`vn^`TR3LeqsEgp%M>MGPAzE@=4h%6-1LMudULwCUM5^AFy-6dt$u zR!h803Urxc`{vq)QXip~<|u!Tu*7M%jIO zl)dZJ+P1g5cJx1U6}cW1vhrB)xmcy0(8@qg9 zJiF@dY|Da^+h46#xB7ml`__^k=}k4Cci&|bvHofjTH&{n`_Az%O1rW(9al!qfAji? zZOrNXeLvk?H!O5+za?}gXI1FxX(l^~su&}u_?^-MasM{_o%wt!N9y#$Ti;maK77k>r_|b)w)1sVT;RWJ6OLOI zZqL>XS@CU!$g~|lg4~l`U+tQE^!&!K=4*9}JO3)|m?mIQWUg@H`_aE2SaxUsESp}p zD`wxGU4QobM!o!G_c?55zl@;%^-V86s>hT(-KzNAs*wMBP|5Aw?VgEKwL;&tM%DlO z`TXN?d41kCUg>3C1-gL>t%zkc@1C(tc!KC6GUPnTbGUFm%VuH3#_YV+E4In5d#asl z7yNYLhhHz8TDexgy;G`dFK_RCQ}tcxBf;3yV$7GW^v&;^_bOw)Sl#mW5K*m|CD-qW zertXZ<#gc0-G&AGSQmb{{`S)Aynx$f*EgNru<`rV8n;IWQqAw^+?R^|7xsK#)qRcg zxdjiNM#+^Q>XcPKqgV81qvCO^!u;!-^5b7K^;tff5nuQ7XxzFhtHbqI>c;K)@$c{N zP|kI#TuTrOZ%*8u!!St(F)`cFdxw|fROjwL%c6JHn8w?m)LWEY`N#9}}rFYLc zwRW!nMZveZ`=8az?pmFD-0EY;x}`BEZ>oBE{&YTnwS4{xr>)1AygKGJRhIqW)|Q5e zyBQs8x%2kz&zfJk`d!_cWxpW>?XjxSx)_x0ksz!>kF>;9%)o{&6u z$M)=<)!*Mu_P2{XwY%hHl79HEzu#^zT@|?4Z5PXRA=V(o`kp6wehi*{FX4002i)GV zwVc}eI?MgQ>8&}piZ_IOjouLUcc#Vlpnp2`@mD8g&#iE|9<<`?FYBPXUpN1U`LDae z6SZsMi;wCap_ApBW!O9KZ>@Q;^H=OLy$?=)Z|?~z6h6swSP}4c$_E<{`F1I-=t>ktUAr8 z{O0NUEiVOv@|NYYX6Nmkb}@8+Y4!I$hEC-|Mn$*lMGqe3>+SiYbv4MT{hNHU;;w8> zi|d{4rMlvJF%n$o&)yNL^WG8m`Po@#J#*vjF{fY5GRvJ+Y~CWIiB!s96stQLCh)9V z`XEmI-P0(p>vs#chur-ep#rZUtHx!yYg%Ss>7&3{?~6~T$LoczjoyAuwVh9P*MlbRB^&bZ@7vb4W17Yc0`;Ef zqo`#&uXVZ?>OQpyDt&ZvIZyP|pBj7fE{lt5LtbwU(YEw?{?Bzm%6R=k?}P5a$Wo1XR0{zZ*EF0J^AM5=A}=bO!mLG zw|e{9#C1ET*<2S=o%&(@9+8ympZe{;P1X516W$SL7SFeReE+Qotmy@t{Z9Y|e`SpK zajTCS>rzk6dhciXm*;gu{Fg9Q|9#gY{_T0Tt*dX^j%flOLgE68c2C>;e4WkyFRH5= zSNz!<`sDPBJh8bEF{e#_TYYSo?|&Ed@6&1h<89G;(c65cURfI*{;%faQSr^@N4B~g z6!|xGdefVzMK@YOE092Q`e&3YV@_{*^ZLl*9n+k)?$U2Pw5;>j=Q)%9Pqe@P;>P8R zJlBODbaXt5`WC%o-4oT+khL$?xzD$`6gjO+BKEY&ZL5!J3%wWZn6~J+T(wWu{ffuD zH}7pu@2}eUW0I=3%-I56K_f5Nsv^*EgF*k2BHhb5uaB(0o-OdHOxN0PM(hHI#^f$B z*&RP-n;kypbvoEjd)_9i;)6Tbt_ukrobYtERo_g@ikEKXp>@YkZ=IrlJ=OfqnpG~L zuWa7mGj~fW*Zpes@zKI$?bdTVmAj`+R`Z>7tN6UFxvg#Oiwg@k)t)uIZXx|JYSEDw z{rmsT+gtE+o&CR(umyX>VC%3Tp>Q+Cd#_)NF5lN8-B$1Qy6U`fnU@#7GX9#fIO^{7 zJGlkAijF)HJN6aces^{^-&?EH#=l#?{*=|f{^{a$sZ~W6w~D?idM{zUard;$thql7 z!!$I6v?M;2>0Z8k*?WqHB5&HcIgxv-N^icnvvc!i!F8%$Gyc7Q9zT2g`>Uk~rk}o6 zQ~lwAW4h@nWl-Y;wv^+5&7`wieKxNZ=65aCjsLe{ugQ*$K~En&pA)^np|MZ+`HtHU zqMRN{>?wJC`)$?UYi~B2+r9bpal*&H;%iE`pDcGN(fxfUx-{qFW260(<$fhyiury~ zsmNvB(tzKguUBsMid(nz#ozDur?Y*1b=BH#&HeiScW*LX7g7z{|My?|>%PA#3VUvE zyFFbvz3%_x^XJ4)l%u)r!d4&aJ$^PKSGUUS$$4C;J}+cNKw@Utw_mgG@Lno9ztv{r zjgy-MTdQ<$?fTw&KskALCj05-0VZ!P7F^z8`A%K*iL%nJX=`oJ-c+`&Rc{XTDR$l}*X7_bLBA6ZbH0&L5W&-Ss=yCVl%T=h#`StLpgI zq{Q`$=p(Q4`?cGxKE1iQd2VUq(`nf=7q{`tzq=zmb7Af8@AVhWugVGB`}3gNG2ZXi zmfZHunqGTg3+*6|VHR8a-l(+kLg_81^0jVRp~ji-*Y*0n+BG-p{=w7cD<>_~-o9#* z20zQ2&tJ1LFVr3rDxaEm;S%pF3(f3(#n-u*r`Kq2y}L}mC|pxU{F$4c!`9Ao2aev~ z@txJ#BX;xR)bkI^<~w~X+Z`vnZ;oBb&$RD)p5FI=W?z}`&ail;-jv+$Gs+))l`WaP zscQDE)EleLc&==op8H1VX|e=T%wcK0iDXI>cC zeZHDca__I%zAsc_0N@9ruxffi#vU9@l3-V?HnG9_<}Yc6(`{+F?Ma7Xf}F8VS^g^C)(Jio)wWbfQ- zX?Bw@`Iqrv#=g&CyZae#f>#lio93Tfbv>DbBfs{BYU-OSxz_*B@3il7h82k)pbIS> z6keL89(=89S1v6qSowXk-TeM}mL*Taz84-i1X@%YbN!R){eSCI-M^RHE9LIynPXXh z^M3U=tNy0G7!0!lUYaIHE)I*|q06Zsm;do6``*h{=VGS4vYPVp2WVk8NA2d!=*QRQ z-ifc#|95>;^8Sa9ujk(?J5i}p!U7su1TF7^uP0^lxxaJuy&oI8Z})fjJ>GWr_HsYT zJtd2OH?%zhtvhepl6##0{kFHy{+)7PUimvtIQ`81ugB+~JG@W=W6>(hY)007?s1|>(oN$K|of`&~omSZNL=z8nF$H>dD;N!DI?d^;X`w|W` zmFCwLnb@^H>gC^EW0O+zpEdg|FGulpKAo!WNB#2kcQ=>IJN$e4TfYA1gU|ckoJ3LeO9`7bkfAN>28mEp|7%;Su6kDc|5 z+}qp0z%c)tgjN2>Rkgprr$30V1f_3`^@0r2Gej5^_IxeuuZv%=s=&~2;nC)M)^$HX zOH!d@q$sO88Eza{!eB7xyA|IHtIT~>XH*#(4;0wFw#+$s>gy}R>4>H->SD_SZ7hw+ z-DbgGW^PwZy&A@FLYyah=Tg`23-c~3y2a(+-01s1@bCU}-(tKsGacHqwYlrwnjfE+ z$A5o!n|(t4&+7B@-Zi`J+W*qpuP&tj+M~MryUT{<2t#oU zW>0u;;dOdbWxLqj;3}W!Ij^i1z;;G7m6S|NJ^V~|7r)fjXSdI`&pCct2+@4TF)sZ{ z+&wY!-}=(${p~&yTYf};zbFIU#^BY`cW6`1^Tq3w)zAKVy8Zs#<3&i(f@A3VXNU4u zo%?SuY`^?tC#X3oucZXtzEBkFo)uYlr}V;g@9_V{4;nr@$RXOYI2Nlr)G3yo-jvvV z-u{L0qVsn`-!;1&hlbxft+Lab0#En-y{wjV^WWaj0+vKLu1P}o^s(ICwPuf2D{7nV z?ib*OIWEvJYT8-5x0aRHn(Y7Idwa*;4AI@jF+{HLv-9YtoNK8b+t-VEd4GSm5w@Uu zyGVEH&6V-Dy0%JRx_o)AwR|VxNPXh6T}OKBt1D#}b}({Z+g)zM1=~i`wJ3U8Z*;kz ztoh&e`E{l5%0dVSo00I*O*PAF-}fb_En9Q%*}c~*pj%x;_AiQF@qCCg^sB z#nTRN`m^Tw2376r@-`J0Zt87st$zv{{?{l2uM>vtICv7jCG}_3>Au`w{jdIijVhNu z!3rAwwzA4R{i!!Bo=4U+^*F!1WwgTm*6dClRIR~NQh$C^x3!lyt-Wz-!TO8mqQP3Z zG*52|ZMVDpT=(YQcGFuYl`v{o`$@aslmJNrRZy!)yzU%pg&hpqit zW}LlwvM+l5$1t=vEl|}v8Yk90ZDf9Vd3k;yYzKp4>e)WAzv9|NPvhL#nw_t4#Yge> zxvZ4n2es}0xVOJLsBrron}7%Z%O#lHTS-y9gn;E+H}X~iRxMV{(WO_cHeoMV^jWG zxA$JNrS#3K)?c4+W$VU&9B&Nro;_aw=Y7|w?bCK`d9zbIuH@_5@)LslW|&;Rd&&Pv z@~KqNT-3W&EEivF&MP|BvFFC8$^P!XrSF+0C`5hnpW1LC^%Yb3)dx>!OKo}k<3jOQ z?W+~5zDfJu>iu)-?lG%F4O`UXvumy|_P6`@N_uU3Pnr3LM~fdmmaqFab<@*R^W%R_ z5)zNEif!FJ|5yBExy{pdM*li#9sB#V`Ny|U?a=for>U%q_#_;`Q*r6rzw ztG-5U&)b`Hlq;P(-*>jz+pFR6YXcS@Qk@=Cbk_8G$m+1Q!OQ)Mg3_()O$#0zNIN_0 z>@3sMkrNHJ=HA{Gsj@ZWV$zEX3vX}BEq>P!pa&`;zO{%T`;hvXeCY*;9O;KlS?6?e{L`KiswE?)2O}FXyq#`T&xhIDc7OlWzWm>H7rn=)K5gH*TBzl>oK?uLuGOFKoM9DyVVr;U zW%_(&=W~D0OT7OoSM@1#xwTtbYgRvB?98nPwtc@dHTCq=@-3RRPfcU@&3bP)eQsm- z{+;`hRFC(0x%OEu`zGysXZMd|w*EG{(-l9Sik+&Ux8sf1^Vk#XR_Co$*nVrTvIEN_ zkAVGuzuitc+I4cm@2At_WkQ+R`D{KO5q^7kQ@}!}{Cz*4Ep%=#k-qu&l=j@_pZ|Wp z|Nry({9O001#_*-r|G}%QSmCWWoF|kc=urOyWQ{YcJ}bw{WuUg(O_=fF5?fkLKiqR z&N9vZ_xJn#b9V*0qG9z$hq9&(m!PdexWt~C%Tu4`2Y0SNycIO2@HAjf@T;clb}z3i zs?WN+Odd1^qq%d@pS8OpcUr%nI7zsBZp`zwX_uCL6yJL~rhc*3OS|OG-#xRc<<_s= z^mg{U$^~_=zirC@TzB~Y?IocvwbzAR4_E+_)w4#yaoLZvCytzU_R@A0_p+J~aG(RlA9H$c~PlpKWig zPVamFRW9mxuiEptiix}CrQgqedGECRr&C)&L!<8+3f{3Uy~?W@`pjtO!*{ieb7XRx zc4b~(_WAtzKhwS2vn^|XeQ|2#^8C5?`#tNjH#agbFWdX`+3Z$s@oAH$=|-7Q3LK~Y{&qi{r zjPd@tez(_({|A?^>X)nDIdQj`LU@L8&YPF%|E-N>cEp^vmalZ;@{Wxvd(ox4>%-i2 zf7h^E?TuPp>*z1w! z&fV{(-dc2genMaN`k2$~^J_20s)8qI-1X~k+>7OY@MMM1m5s^A=T*I0IrHIxr&0GR zpU(}dxL^DI=Go(ZbFDld79N-V{(OG@srkOM&8FIWPu2SR`~CjcX1BNH1{<3M2M3of zbY^Db2{<0PuV&}sSL^rx+x4(bddW7IP9b*wS)cwmK8*rhcY3a?hi4~e>8mS&wI;Q{ zO43c8KEg{G_o*UsTRY?g_?xHYRlL~w%eBwa?b4mkdV6-<*uN%Tjqm!WUDofW9b%tX zcW&eQSzasOZ1yspH|gzb?XaRPmCxQj3#xn9DsFkol-KT`lhmA=TQ66>F58vezV1em zQ-x>LJw5KPlV7Y`T5yxs+`D!!pP|DM}dbawK3(`jttF=b14d%Z9$Ub$ui%=tV?}$OE!IOe2~egI4pn88*d$?PP?p?N)P3Nb8r_Z1LZQCuM82Nl{+QJW)irja)ojqyw@k#I=xwy#B zU$?)nSkadJD0H=>vUW)ImpPOEgH{dvU4G_i|DGRF^Vf&pmIh5DpS&&=U-Px}lEaQy z)40y>yIpkR)7ie})5rI(%_=RO^VvII$^2mAg*~@(8|Li&HrrR$nlF0m+PLm*;rD8G zTkX5UWx4O~!n#ta{rc8rb1arWf0G(IuX5p$qtm@MUkZR)PR zz?=Bxr^-$~Cv$ z_1VaG7HRDpjh|Tj|98Ii(y}*S&G%kf)+}-_{IjHH$(C z{rj#IeE8(MtFdQMRPVjLUv3p$n``;K=BL8@lDF?IV*9q+>OPZex$|^s*juNES8p2m z1%>5zzlmylo_ad`_Qv-!pGUs7otk~K`rWDW-TWo?4WWlTH2!F~x$kuIm7DUud$*V3 z{bjr5YCj!LOn%dvU;Z}y-@a8vj7A|TXHIaG=s3MMEM8fo)G3-}F?ILndEvKep2da! zJ@(u-<;beXQ+91x(^Ga_C;w;Gi67Gjx$SY951PNc6Lj-at)518YmWDeX`A<4-TD5wvf9amPowqk|NWM{ z?B%hQ+2x=GHH%tyo$Fq|>)Xk;{GICSw#gYq@vUw;c6Iwb#rQ^JF-|G(eA znMty_YZ_8nnsqpn5@UOU*#KELwW%&M=i)<$pl6JNG`Ilq+2i$-=i z4asY=<##Tw3|?OU@8|Jt@yC9BeJyR0QE*f=+@qOWf6s@F$K{I8f1lF){pIE7|9-y@ zKMtxdK*ii#>+)N-w`5;m=Qr0X`B=|J@vgdGFPEpCoi$ZE+^5B`A_xIICwsU9S*-?0PRcLVT zlg(#l8mAxclP!AU)+=>$_TL|m`-6Two1Ope=H}-|#p9dr*qGDtYr^;#|0aicb_40Omh+Y5$A5kO!IrS`{S<3UfjCo>Wf%S zow{>7%Zk0~s#iQBWyH(+OFy854aI+ z`Sr}^E8jeq|MC7W@y@8UF=nmSbheeyx6|HOK$&+&3l18=fbw+haZ+m?0zyseO^shj>WyXpoWb1 z!^yn&FX{SQuH7-m@U;m z4jbE4&4<@pQT*{n#{TzHNW~M zuleb3%KH1%Zcoj=e)YTKm$2viR)H4xT(vi~EIIWuy~d-Piy=3W20bzZ3S zH*ep_&#@YR&TTm!U+cX6kN?cmrOZF~H_y`1{}ukx`09Tn7k=CSoAQKD=k{-8S4{6S za0Df$_}Z_bPtEe~?h3tI)}Fm`-rE;5_-<~`kJkh>e#_t9O4Z-~diVQ%!P-aK`D98boU6_z_uDS>-&p_u-|qL@{_PD@VgLDkzw!JTipS^J*YC57J@P!t zZ?>84BkST-AuAW%pR6pdkUo9)5;=yf@V~#lzI89waKFCEM^f9e^4ZMvl-*%#qc+`L z;wk*Ka_X1Wx3}lte^+Ne>BXaN{d*e{o3oV7pDdjoS7f3QvEjjK{pkNyQHxwU4=>-U zQtkPWRXpayo6R#HI(@m|%>R;&nVrw(+l}PVpOw$&E|+W9`hQhk{n%|eZ~jFw;;{L# zJ_F63U>E)qu1dS6HBZY6*gxm$Y4a$4$-iE+&tLicGH*@D&02wl&)=lx*W7b{t9ty6 zVfM`3z0ba}8;dWP8}a5z*H!uaEBmsigg?^Szvjfo<97f5wP#&QTEA2K%KNyRdtYy9 z4JwLd)qcJA*|x4<7DZ=2&5q<+Z5Ql6b&Ky@h5cuqhHr^k{!3O*KG@dn^NdBVU;FZ| z7u{Hu`+WL7m)dpZyLlz{rR{$6ukL-~^C^G&MdrmWx^m#?{Ux$xy4>QLMc00+-hX*3 z{@bh1UthJ)uXnx47#OE6ba$)FhK#+x6t;&}TD;wmU6~X3^KWp3Ufes+pVg}~;{Er| zjLmv&_BY|frrykl-&d^Qo-DmW?O5HXr&F9-bx(hqcIs-?nHVkAxyx(Trd`)^Ezx~C zLsf6zm;Js`wo(5}ce<|fvU{*HJ>q)UwwRxMkJFa5&iDCMcD?SDL*V+5u8-S}Uuu59 zEEwzkvuw3PA*fZA<9+=E!{q$V0)lZhHzV!IJ zUF366_jod+Y1V|(H&ydi%q%xbTEDg+T;mUKsP!uSoTKg8E8Z_tIBxTf<+R>J?Qm5i zg|(08)Od9>X0CEMw)x2RfE!mX|66%`>y^X%LS~+h;**#t_U}4V=j2V(MdFIietorS zO137WqustaN~Lf6-WgBx*bzKGM7ld~(e7zNAD?t9^RBv{J)!Kz)+y`LFFy9Kc=2=k zQ)w+mM}Ln!pVG2h^EcMd{dG%y?v$I~FMjy=YH51VihDDc#U}qew94bt%M~ld<4f0S z@wgW0rcO9vI%VfSw@&-ed6ka;-Y>|q_M4+TU69M&Sdt;^_to1{Ti&kV3gzhm2bF+u zp~{N5bx&ViT|ISb*ygmeoxfi78 z{hvZk?f?Jp_a$#*`CYNALROmJuPOfYel1ib8l~p z&fgo#wSMonsL)A*C%4AzuiHDTCTe5S(bUt^JUizs4PPI3YCh;jf~>MTg~ucRYwH9( zdAIw0+@6Y!w>ElB)mr#L+-v@owJ+8^{qys4=!JI|7rP%zy#DFO<9_|PJr$>?>E7O& zz5LFZo(=XZ;)+$uOYiI`EE0b5&UdEK(?#8Drq7$I7yGN<{@;lWJCCi6-X6BS_Su=4 z(_@lq<(=i$E&Y`dx;pIbt*zO6tG=dqthg1qIZbo+rn{yo?RpE45ck1euHleRCPM30vx&5Q$@%NJ1 z#a{o^e{mmK+r0ix)%(e%GMlSYj#tmC*cCZn$rtE!_8+84hM%}rc>GQ%DT|J;5+If5Hl=x>s zO6{BWr>W@XJYDg9mHp4C$6F4sTl!~4xczn0Qv!Q_U9*1ETDB+V^uEv6P2OEu9wPZV z-L0{S_39msr%`Q6w%;$$Iuf;ELCDGT)zv#oW>zVz{1x!3q{#N$Z=Kvz)3n$3$z0s} zC;X%F*4hP?FLwS4`uhHV%!?VGTGO@WMsEmEv<&IlZaYnmMZV)j)Uwv=@2%6`ifV;K z?2~$@yrfm$biwS{ny;ms*6;3>&0MhDKWplaAD7tw{|xrBLeY~ts-!*8Ez zX7AH3&5YEn|15sg@@H{@tWVcuqE^IRPFFv z(S9=w9JBguzeW6RD!eFP|EKVr<+c5rzrDVm|L{=j!Vh9xqWx3&h? z->d)s_tKlk{r20o-`r7{d~uQM>1n#F;|!+=p4?jVX5(?EhvJLnEeagOyFi(>>FONI zVxvRrQZ;Otuk0(SeSdFn`kchS+3vH=ayNZDqo;qp==3z**xhBJyHB$R@+~gXeY%HR zOs8PW`#U=~hs-THrFp;h``o>Me!t(ZA9v?h`?0XKQL;7_0eq^ret$T)r5*+AjG08=<8k*H(wFI+HrTZ`P_?SMu-1$zG_vq-M+3dMJB-`}&*f)Slk` z`eJfcQ=&^;#=k%fo8!kHHd_?zo;Lk{h4+gOXB^qH-hTeMRNvG3P1L=D@3nnqpicX* zfa%jp->)n9ZOV62U*PW?-=|Stoqslz%eb$-xn=#eD_dU7U-j*kVe!gY-=Dlw_!{(M zLVLF4$E6>#N}qo|duzvPulUN|kdtR2WiY6^I-Pe}d?lalvW$zbweG|&yp??F(jikZfzFWG!y1aFh;9`$MMTg5`Lz16H$<+rLwg+mgsGR$*LuJpOg`(ky^=smnRNeWw z*5CRM!=nl9*)Quf|6CA_zEV~2efNW>9Iv?Vt*E^YX$Kn$x;MRg8nrHBqto7;>dQs<`oCYpuewRK*A`QPI0)2Lm)Yd=3byXsV;MtaMAg(Yr>npnA$cD^Z{hnMaSnq_$T?s^}D2Z-0vlq z=l0tyth?EE$bR|N{3uhy=XbdEtCpTk=ljCqpBeeLHT>$fn1z45)?Z(=Hp((@`S&|h ze>G+o9mpz;&$_05^zY;wZ=+VZuQL6&X#3*SS#?|D8=0KL^Fr4>J$!!uqYUNgQe6Aj z-QBxesVlqkm1O#~{p(jnwXO7Qfv3bjhn{zgHitxSjmc@dM-bY|Xis1C-J#;-z@h& zTjyc@$K$xs_4_a6icaxOem#9-?Q3TKm9kGcispphDhb$qJJUXGR^6`bm)h&q_dE8OB^{U>!g|7=k6Y2urVVC6slve(0QoCbSU^WiS1t;cWm z{_!#oTer04?w#X-lda}g?%uiEYhTQ(1}%j-MNx(2v-Q;?|GAzxytTys?vKR}AAdEx zyLWL;-p^mh!Ttjk-d8%-Jzc;5U)8gj*Z!~64qpcAr+@-y);EYetqN}UJ%U@l2xv*XClE3kuPp7oY-`~>>O+6iDyhgt6$HRSk zSJy^|uX+-+H1g-CncAG^?0&yVpI=*cV?*MvQ(M1WIpNgGb+_*K+qKc#<93y-Tt<&=!aiU>+dfKOG!C1!%$g-Z(i2kvYkaw=ja+4srk>7`BbL+_WFV;lal^g zuc)$HxjFyWw@~?2#m~q;H#@&a-M(*mJMBiq-Zz0ScL@8f33wa0+wygRZfg0|Aon?1Hwq8sl+KAOo~C_0 zXsy`x&#&C)wwNh;NygBDSZ-UTQpJOj38GDKBTANk+^#F_N&zMiF zpdDo29`C=rb${LTDM1^9{dYg_T>kd_j)EQ2=Bk|!)~!C*_u<98Wwz|?ht5y%wSE(| z>guDiD|24R#ClsUwpFmW=9N7qyR!DE*E_AR7p1nnezR_p^lH0SE{>v=@62w^?|l)q z>;L-&^ZO-TR|zMB3z{cBGMrg1*Ei+f-nMW<<&$}R-+w&5_T}F0ce_pp=3Q@M<-TIr z|ERD9)Jz9m-&K}>bJNl(JJOS^LUt59bZ+PS`{6Kumg=UkiAt_op{q<153&6I`1{Mt z;#Vtg#w{zqSNYsD@6M0y_v;+FdLRC>uai#O-1c22AM zwt8BXU0TW3jEhRj+iuGx^Dnw13hN3#^5E)s0(FJ&tV_MSOuoftPDi8nzO!3CwDpu- z&$?oCa?{gOyH~U6-w*kHb{W6@f3GR&@vEMDoO&N>Ikzg{R_pZm(8o{R;$B=`{ORz% zy4T;fhpbDhpS$k&%8s>cy=(p*S`8i^nfcYwwfmL2mQ~E@D_gCv=%?R2T{vgUhZ5aV z7R%CQ**8Dvy3dw~_5NP0tGp=YbWo~ZarnycSvD6R_?Ayya4%<_oQ1~x6MG-U1@sGm z;w4`0QsNz-uQ%oYy!U?R7kDE5`rF0#%UpYGIXVx&jk5dkrhDO=&HbiTf86VTPpe8< z)xugH`hKT&_TGPeJc?fzt?gKGeEBH`KkGkF7-2Euv&{Bb@9n3> z7H7Y#TbJrGC0nvka!1wa%I0mdcSD<}rB(52DV+GvdM9^DcF63GbxUjaEq`?P9kcVp ztFPb5U3}sG?peic(T!geo;ZM0)~AW?Yo@=n{eGu-TiZ-2<1`zg{dpYqO-ra4D~}*_Pbf-|khv zzgleOI@hZ7lvT+O$H|M```3l9pBKfnK4e!(rtRkQ52O6%+u4eIbKA_9cv(EYM$l?c zoVDNeOMhcdcLc3lS}j>oRaJGcK+U-NTaNqGjH|28Ocj3R`mp>?Vf*HziMwx}-db|L z=FO$0-BZN%q!FynW+p|Fv5{mDi8?3rn@TvLp z(y+I36~A`!x4X`0TrsV5`rdzPojo;E^yBs|i*i?et@#^pLwv=bEA`HS^$)8R z#h1zWPpsel9J*lg7*ecNYKuA9H| zPlAR`<*8WHgo{;A_wM_*()6qImC94s`^;?9QrDGqU)=g;d&1hH9eeWDiwoxOo*hvo zP$auOd*!}n!TE<*96uvI`I*<99qXSN&s95LY#w}imv%_?nb@W2+U|eC8C$ESdoOfq zz07CN=BU)OJ5r=={mpxe>R&xIkK|u5^|8wwwV7gd`@`lQd%t?;yeXth zHK>^Ko8y1(B`uMFrPljgTE3Rfl)Xz2@w;+RSj* zwD~<7#3ppz>A%zKcjWdvg=2Cp97iTDa4XSW9k%sQ(UIo{tClNy@%;RHJ^uE#-01aj zw!cd(*BYhjtOgx3S{{~?;xor0aIWF0V7{-rV^X5`3VNJ-nj;eW``cS-K=0B_Pc-{ z+m1&f>r^2J@FEvFkNs+$64lTBdlh~3`Q!AJJX=3cS+BqI*{=z&&u->2tyN13z4h?^ zrKRh4+{%8s{@2s`JDut$^{=+QT~ohqy8M=R?T@y~SuH#B)jVv)w;6w!_CH=I)wexl zd22l5LLPV1$Lr5UpIy@XTe2oA>v`n!=^^#IVow*9-_= $I;0<6?#Rh9y517FE8B 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

+8!73%uowlQD4F!+HM8 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 literal 0 HcmV?d00001 diff --git a/msc_scripts/TD_VoLTE_ECO_INT_INI_05.txt b/msc_scripts/TD_VoLTE_ECO_INT_INI_05.txt new file mode 100644 index 0000000..70f26cd --- /dev/null +++ b/msc_scripts/TD_VoLTE_ECO_INT_INI_05.txt @@ -0,0 +1,70 @@ +@startuml "TD_VoLTE_ECO_INT_INI_05" + + +!include etsi-style.iuml +!pragma teoz true +' +'Figure: Emergency Session Establishment, PSAP in other IM CN subsystem +' +''title Figure : Emergency Session Establishment, PSAP in other IM CN subsystem +' +participant "UE A" +box "EPC A" #LightBlue + participant PGw + participant "PCRF" +end box +box "IMS A" #LightBlue + participant "P-CSCF" + participant "E-CSCF" + participant "IBCF" +end box + + participant "PSAP" + +rnote right "UE A" : Gm +& rnote right "P-CSCF" : Mw +& rnote right "E-CSCF" : Mx +& rnote right "IBCF" : Ici +& rnote right "PCRF" : Rx +& rnote right "PGw" : Gx + +' +"UE A" -> "P-CSCF" : INVITE +"P-CSCF" -> "PCRF" : AAR +rnote over "PCRF", PGw #FFAAAA: Policy decision +"PCRF" -> "PGw" : RAR +rnote over "PCRF", PGw #FFAAAA: Installation of the Session Bearer +"PGw" -> "PCRF" : RAA +& "PCRF" -> "P-CSCF" : AAA +"PGw" -> "PCRF" : CCR +& "PCRF" -> "P-CSCF" : RAR + "P-CSCF" -> "PCRF" : RAA +& "PCRF" -> "PGw" : CCA +& "P-CSCF" -> "E-CSCF" : INVITE +rnote over "E-CSCF", PSAP #FFAAAA: PSAP in other IM network + "E-CSCF" -> "IBCF" : INVITE +& "IBCF" -> "PSAP" : INVITE +"PSAP" -> "IBCF" : 183 Session Progress\n(SDP answer) +& "IBCF" -> "E-CSCF" : 183 Session Progress\n(SDP answer) +& "E-CSCF" -> "P-CSCF" : 183 Session Progress\n(SDP answer) +& "P-CSCF" -> "PCRF" : AAR +& "PCRF" -> "PGw" : RAR +rnote over "PCRF", PGw #FFAAAA: Modification of the Session Bearer +"PGw" -> "PCRF" : RAA +& "PCRF" -> "P-CSCF" : AAA +"P-CSCF" -> "UE A" : 183 Session Progress\n(SDP answer) +"UE A" <--> "PSAP" : Early Media +"PSAP" -> "IBCF" : 180 Ringing +& "IBCF" -> "E-CSCF" : 180 Ringing +& "E-CSCF" -> "P-CSCF" : 180 Ringing +&"P-CSCF" -> "UE A" : 180 Ringing +"PSAP" -> "IBCF" : 200 OK +& "IBCF" -> "E-CSCF" : 200 OK +& "E-CSCF" -> "P-CSCF" : 200 OK +& "P-CSCF" -> "UE A" : 200 OK +"UE A" -> "P-CSCF" : ACK +& "P-CSCF" -> "E-CSCF" : ACK +& "E-CSCF" -> "IBCF" : ACK +& "IBCF" -> "PSAP" : ACK +"UE A" <--> "PSAP" : Media Exchange +@enduml diff --git a/msc_scripts/TD_VoLTE_ECO_INT_INI_06.png b/msc_scripts/TD_VoLTE_ECO_INT_INI_06.png new file mode 100644 index 0000000000000000000000000000000000000000..dc61ab2172318777410268a53f55ff7e01399dc0 GIT binary patch literal 258769 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

fJ`TB1HJW?hr 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 "P-CSCF" : INVITE +"P-CSCF" -> "PCRF" : AAR +rnote over "PCRF", PGw #FFAAAA: Policy decision +"PCRF" -> "PGw" : RAR +rnote over "PCRF", PGw #FFAAAA: Installation of the Session Bearer +"PGw" -> "PCRF" : RAA +& "PCRF" -> "P-CSCF" : AAA +"PGw" -> "PCRF" : CCR +& "PCRF" -> "P-CSCF" : RAR + "P-CSCF" -> "PCRF" : RAA +& "PCRF" -> "PGw" : CCA + "P-CSCF" -> "E-CSCF" : INVITE + +rnote over "E-CSCF", LRF #FFAAAA: Network operator determined LRF use + "E-CSCF" -> "LRF" : INVITE + "LRF" -> "E-CSCF" : 3xx Any\n(Contact header with LRF provided SIP_URI) +rnote over "E-CSCF", PSAP #FFAAAA: PSAP in other IM network + "E-CSCF" -> "IBCF" : INVITE\n(Route header with LRF provided SIP_URI) +& "IBCF" -> "PSAP" : INVITE +"PSAP" -> "IBCF" : 183 Session Progress\n(SDP answer) +& "IBCF" -> "E-CSCF" : 183 Session Progress\n(SDP answer) +& "E-CSCF" -> "P-CSCF" : 183 Session Progress\n(SDP answer) +& "P-CSCF" -> "PCRF" : AAR +& "PCRF" -> "PGw" : RAR +rnote over "PCRF", PGw #FFAAAA: Modification of the Session Bearer +"PGw" -> "PCRF" : RAA +& "PCRF" -> "P-CSCF" : AAA +"P-CSCF" -> "UE A" : 183 Session Progress\n(SDP answer) +"UE A" <--> "PSAP" : Early Media +"PSAP" -> "IBCF" : 180 Ringing +& "IBCF" -> "E-CSCF" : 180 Ringing +& "E-CSCF" -> "P-CSCF" : 180 Ringing +&"P-CSCF" -> "UE A" : 180 Ringing +"PSAP" -> "IBCF" : 200 OK +& "IBCF" -> "E-CSCF" : 200 OK +& "E-CSCF" -> "P-CSCF" : 200 OK +& "P-CSCF" -> "UE A" : 200 OK +"UE A" -> "P-CSCF" : ACK +& "P-CSCF" -> "E-CSCF" : ACK +& "E-CSCF" -> "IBCF" : ACK +& "IBCF" -> "PSAP" : ACK +"UE A" <--> "PSAP" : Media Exchange +@enduml diff --git a/msc_scripts/TD_VoLTE_ECO_INT_INI_07.png b/msc_scripts/TD_VoLTE_ECO_INT_INI_07.png new file mode 100644 index 0000000000000000000000000000000000000000..df76f9e8baa102f3ae71ce6a5fa7314a653bac2d GIT binary patch literal 203029 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%0Dl=cWvCwE1N#Knwp9( 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

1|olzdt>sc6!Yb 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 literal 0 HcmV?d00001 diff --git a/msc_scripts/TD_VoLTE_ECO_INT_INI_07.txt b/msc_scripts/TD_VoLTE_ECO_INT_INI_07.txt new file mode 100644 index 0000000..c233c29 --- /dev/null +++ b/msc_scripts/TD_VoLTE_ECO_INT_INI_07.txt @@ -0,0 +1,69 @@ +@startuml "TD_VoLTE_ECO_INT_INI_07.png" + + +!include etsi-style.iuml +!pragma teoz true +' +'Figure: Emergency Session Establishment, PSAP in the PSTN +' +''title Figure : Emergency Session Establishment, PSAP in the PSTN +' +participant "UE A" +box "EPC A" #LightBlue + participant PGw + participant "PCRF" +end box +box "IMS A" #LightBlue + participant "P-CSCF" + participant "E-CSCF" + participant "BGCF" +end box + + participant "PSAP" + +rnote right "UE A" : Gm +& rnote right "P-CSCF" : Mw +& rnote right "E-CSCF" : Mi +& rnote right "PCRF" : Rx +& rnote right "PGw" : Gx + +' +"UE A" -> "P-CSCF" : INVITE +"P-CSCF" -> "PCRF" : AAR +rnote over "PCRF", PGw #FFAAAA: Policy decision +"PCRF" -> "PGw" : RAR +rnote over "PCRF", PGw #FFAAAA: Installation of the Session Bearer +"PGw" -> "PCRF" : RAA +& "PCRF" -> "P-CSCF" : AAA +"PGw" -> "PCRF" : CCR +& "PCRF" -> "P-CSCF" : RAR + "P-CSCF" -> "PCRF" : RAA +& "PCRF" -> "PGw" : CCA +& "P-CSCF" -> "E-CSCF" : INVITE +rnote over "E-CSCF", PSAP #FFAAAA: PSAP in PSTN + "E-CSCF" -> "BGCF" : INVITE +& "BGCF" -> "PSAP" : INVITE +"PSAP" -> "BGCF" : 183 Session Progress\n(SDP answer) +& "BGCF" -> "E-CSCF" : 183 Session Progress\n(SDP answer) +& "E-CSCF" -> "P-CSCF" : 183 Session Progress\n(SDP answer) +& "P-CSCF" -> "PCRF" : AAR +& "PCRF" -> "PGw" : RAR +rnote over "PCRF", PGw #FFAAAA: Modification of the Session Bearer +"PGw" -> "PCRF" : RAA +& "PCRF" -> "P-CSCF" : AAA +"P-CSCF" -> "UE A" : 183 Session Progress\n(SDP answer) +"UE A" <--> "PSAP" : Early Media +"PSAP" -> "BGCF" : 180 Ringing +& "BGCF" -> "E-CSCF" : 180 Ringing +& "E-CSCF" -> "P-CSCF" : 180 Ringing +&"P-CSCF" -> "UE A" : 180 Ringing +"PSAP" -> "BGCF" : 200 OK +& "BGCF" -> "E-CSCF" : 200 OK +& "E-CSCF" -> "P-CSCF" : 200 OK +& "P-CSCF" -> "UE A" : 200 OK +"UE A" -> "P-CSCF" : ACK +& "P-CSCF" -> "E-CSCF" : ACK +& "E-CSCF" -> "BGCF" : ACK +& "BGCF" -> "PSAP" : ACK +"UE A" <--> "PSAP" : Media Exchange +@enduml diff --git a/msc_scripts/TD_VoLTE_ECO_INT_INI_08.png b/msc_scripts/TD_VoLTE_ECO_INT_INI_08.png new file mode 100644 index 0000000000000000000000000000000000000000..1c253e582e5275598c58f370f10aca641740ec5f GIT binary patch literal 256417 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

*1hn&rFDPCdgymmkN%*y+jch#*0 znzcEn{9DgNY@ZumIH6u5K}E<=;ltld`Iqb-_AN=NarXQw|GwDRWN*)Sy#MinT{kKw zet!F>WZF#Wy1*s+H%e#BDxUZ9l6U%<;1wS04TD8*u8@q}7iOFJ=`hdC%_Z;5Q$nAZ ze(hBG<@afsaZu)~SfPc-^*&B_-mkp!>x#VYYuR@v23_I%k}$v3a_!mx&D4+U)iv`( z^de_n(wtBx{c7u{C!$=1UuLqO`!rpCHJ{PpKTR5-Lnyj7N38j${dQ5j?SIe0H?vP} z*1odt{QrY&vbzFo(pRr>n#+Hs9dwlM$tIJ`8x4k=pT3!Wz#9OE6W2+Vy~Py z-u>iC&b2P%6VD5O^0!yt0o~aYu_592x3^QR7cIWNCNg+uQR+&=#}6NVyyz|u?w{tq zyR-A>r_S@Xn^%ReUl(`Qb>Xhk*Oxri{pYQ@qbNLgZo3#ezuXzkg9i_ONk2VJcd3oI zUd#iVetGTrn)&zkST5C%-xuR`b6070JD+Tqm~PaHfQ5c@t=`_>KR=R_U98c=pK-ml=_kCu=1z!C)7ft>Pop1POw8>c7=igp$H~ago`GQFg=P7Tlzm@x( zF;P6_Ro3g*Ggk(+&+Yo|;j%~L!@3OjK=<&y+zpV9?}@rE44y78E_UC`F5{Ukw_sh5 zklB`51}m(e?5^E^ewl6K{-eo%bJIWkR&COn#k#wHMY*SrbxEJyr1$6due>f-oVsPD z+AiLojvMxgF1g40rMsJ@MO85U#dA+X#W??YYBNG7UVjl&;&xQnn5#+2@ALAY_eH5T zm%EwSlc%o>d++5ktL*2TbD*;ezUqMv)lGgfxlQx7F?V>YYu1%{g&jv;7ykcz-hR3N z{Cy=aC(S*1&||uO{IZ<-|8HLiU0k=Ip@AVQEo4Q2<4)zkuaAy$*PVTOV`K8ET7fAw zO?Mwnh}&0F`RPq->*?$KHJ1~ngSKHU&FR&=d-4PGviH+gM=S}E{MwRyx4l>FjovIN z{aw6&?W>|Xla7iBXX_YlJMto3$FpbeQ6bl(aRCm2fsO&IE-mGd zsuu5E)D+9ovv)zJnwr{1mx=k`+{{j&yIWYW;oiG{|IfcaS$yWqxw$v*mfxFM-sL^c!trLu& zOoSajo;>P3HSfkM-xoWxC+X~3cwxEnv5n!3M;V(Jl$@9yvG<gj2@x3|3o-K~03%5KhmmeMCDCQkY?C-cjTi@vkXczJlHEIEGcSkbPnj_2pwPfu~Y z5G`^@H}b{w`*QDXN|Gk7me2mey6^V?y-muxRx9fcZ1Mhoa890n&PT`NrNhgSE`f3;34p*fH_@mXw=CufNsktNfDR zAFwg$!z%f$TxfTp(Td|H;Z$3Mo)UjKf_?^<+p#*YW9LoA)X*Eam&Q# z(5er6FP_<&FJD=GM{M1*v$HR6ICXlue(RA98w{#C_Wsb2Dt_|pShcTd)|DN#zqd`O zcz$kf`TeKo_siJT?3lpeI8C7?`pfJ4)Ai5Cczxu!acEXGXM5lLiE(QjR@NOT`P(@8 z%Yp|X@>r|0i)`1<=v^u5==3MW4LQ@P}* z_tbM!El)F~^zJz~|JB;#w_ES)rr%$ARQk}3Ywk>KVN;uI&K~h8kFQE`ZOt;Z`ttJn z$I1Ufv#vfYNjm?I&5M!EG1W!w-rDO^)H+wX|NmKQgcPUz*WE&kg#H(mdv zr1CS13)lBY-TftB_pNewTo%N@3$xiWXMVHu})+NVkZgno*q#3lOcz>ha#`GJ97@lx`vZ{~TAeY~I zU~+g^%ey%b_cZ3#Mi^{arI3=XHm&W5N#13>`FZ-utIB6>pY>Yw$TXH|{5(xjoYwVw z|KIRjdTN^Zy~|0e-d}%Zr3BO%Mccw z(b-?351o7bHAK#UHI$jUZ*2VZ|8tY(Fw0-?8uxU5p?N! z!o8{!&y@1}qcy9(y}6k?_mkDX!vFtjKk4$z*-S`tm~hnN^}}h`U%m{_zsGxPQ~I*S z?AcFw4XbbdlFz$0_1e-D(8kxV3hO_!zn-Y=5?}kG{!P>8WjSA*H6)@~9cmANvJ->D z%NhGJXUvfFn}S54Y1@y?HGLQPXv4Ap%j4@OhpnnXa@TMWtC`Z#+x(1x5x22FVVuJ;J3=-~GC)E>_jD zVJ8EFFC)|>=Q)zaX1vS{D>~E93l>iFdirqM75VzeSKB&kL1)Y}+~lyR%RHxLZzjvI zz%fApWcz}QKgs8B?XKATl7WG@seoJCv^_d*pHFx1-r6T8&R#h2IQy^CO?FV|PiRza zTt1ymRp-VA@yRzC8DPO?mHzBZ6K}OxMM5bzL)7yJ3$r(F+|H>Vzs$4!*;Xyn_Gmf# zx?_cWBA+b39*Bc4vsHZ+VzmEk>n;w9 z%DcCYH9FaCW^I^t;n!QcnL2yU`PcpIt-W6?el?o^vm*b(3lgmAcR1~)z7g6}yK6D~ z?Nc+(-FngdMx2pBM_vMSdV7}BYg>I^rP4INNt zledM;2`B%2`7HlvWBJPqd%~73Ea3M2^Ze!J8jx$iJX>K}EH`MYRQaL~>5 zn_Zr~Ep(os>izzP^^%fB`N8FGUka%sVQ$_PhZN|;d){5{r^Am{(t`*mh!$w|Ep_Eh__9r&8hYxwvT2edW(K@#b_Vx4iVeo@-OpxR#e8VIw&E2M90QlI@T>qv*1- z(EF-47H0Wp)vhHQ_8GzLJ9T3>+tRNE+*kMO$Ir8>Pn}vWk^P!?;iiu6SL{B%g&Yl8 z7k<5+25tiw$X}K}q3ikm`uon=^XHoWFrH(>{8;GbDh7sWoZv#iG_h(oTZr?vykE;6 zPoKk_^k&++(}<5PaZV#babgC7uLV2bpNkg=Dlg2OVUL_aZt&Wa`M#28@qS47IZrZYu`RQjkc}7 zldcGYl1FBrEYkv)Ep@w}mi`OLw>@+G4Ev-K;~G9yi;C9Gyc1^ZTy5?av+HaeAHxO> za5=Do)A+XO0+%!UUp^GiTi0u6k?krr*+a)17Kmwmdsl~YY)@G$U;k6Ls{BpPVfJaO z6do=5#TfiqmT7?k!YcLcawjJISgn1y?0iAgc{ArJt?wKIJIil!GcrtLhQ!#!=(kb< z0y|4DFAkRbA!oPyiu$F#!eka56PRr~O~0)(QoNJ2YTo{eLYs$+PX9{S#yDfyA8`68 zKCQ^m<$x5F-y3^&6WhL7d@w4S7c;JVE`434!%$FcC(2%uDkzb zL-F-+_jj|m-kDvRwk$FY9&_byVojZPsNUXH_WItk6S0?PGJA{4f&+4$HOqlX7vZUK zzD<>ax!mptPvp<$)vS3v!6xA}GlLEzBxfu2-!e@&`Q)N+zn|Y%JAwTbhtoQZCqFzN z5d^d7Q^uRvmrgrW+kZVi8NZuyPvG;S8bPjrhJ(Bd`j2RfW?tf&tC07j_ptSg6jXM zCjEA-R`+jp0~Hur{mu+JEQq3M;^#&lcsZTfb7#9;A~yrWJw0&!aiwL>Td55KDf?a? zTpk?O@^03{E%%yW<%H_<8@roY3cT}P&0l^#$$wsP5r06;5!bKG%Z#j99=t^gs!#S4 zCW6{Wa@NnX(rC_L97vyk)GsVKM?(V?VT?xw7=Vw%f>&D%MgU+p-J^`Vg-YW zcRW4X9p2a|uK8rMiS_v}R<^b;Z>^pDTaTNq_eSryB9qtX zBhKc-7{LF@s(ynUs2&F4Elqns7ygK-w?r$%Nf@v?*q(U(=OFyd;R{@#;+i99jzC^x z1)@;{Y7>BTJ7}K(U*k~dw1f2#=!}yq&3n$tuVDwtf$&-dP^8qfZJ>iz6)Y6E9`h_1iFD` zQtQU@y`acj`in8xf@PKyqKw<}&w+`-1zNjiTsPs!+jYh^k7H9x;+xp@pyaT!?tlni z<1(abbFKXZ1_nsm_6o}_Q{JZ8dd1-SP@?*}HYkCuk~e5|UZ9C6x!qs$t1vjQK$37{ znQ!xhWvA~vZd33UJ9h6Y*F&+6>95#*9tvb|A@cU9R|Y|>wDQboo45N}txBV>xja1G zoOfE&uDbXudr+gxa+?oUGW&lX;x*%DFm7}VkO>TbC)6xZC~3~k!0@F37SrcMZL7Y# zczC$|QV54pG$fhmxc>k5d;R|X_4Dm&rA)I@va_vAUR-c)=kw(5+>&>9SCrL6{!2EO zr_7jPk$Y>)w%ps3yrQ;dTx`{Tf50?_-A6pXE9d_1{Hs=9v&?hue4PBRPceF_?%AvD zj+~m!>gOw#yT0ZMU2Xn%!Ql%pKRccOcR=j2cgd;dm)U!w>u#LAwaj4o>KT1`m-qLN-eE2=yL2_5mA|RkZz%lQY@_P_Q``QwCyQCRtKCb@ zp8fLO?PbyYL2XmseETWBBrxH$#G%^n8~fSoW7idl-jWcUx-z2k&-#M9RSmj#(r-vy zx;9~b!e$P^>F>9^{m7ZSVcEJb3ET{47wI%R-1~BK-t3Ow?sFVI8JOo>UH1M2CulTF zbKAcIC;i>~>X%op=DM0?l6`&RjsnH>C3-?Pi#$2i? z;?TLjY|}J?!wfi%Z20oCYRmI~7TXMJ@3Z^PJD7I#gZW>r!hTQ2pk`+Wk!S`6hAG{f zZkbNd)_Aupzi0QCqgNtzt;$wL>`mKR#p@xScIeX7N$=P`R=%i)(A6FE8`WzPTy2nT@yV+nblqpMU@K)H_p=x$57aowH|0 zFZY|vC8FUlcczkS*9808+S>R%6^fcQFE6QD9jo~MF4j}*D(LFw>+5{EYCfG*umAsd zyNUFrRZ~pA>CG0%+X!BL6u8*!%AZctvNt!jY%$4v`Q^*+@9(GU#m<^mSW+@2ZMH&q zc=*8wU02&ztH>Fs&P~tc>{DLbw_~Z|-gic#+McH-eDlmN4{7p$bF<2Kw)Z;GkTofq zzf0>LeF_YJcS+}xz^1Kh|Gf+7yp-yZ_wtkI-Evvcbj@>$49^yPy*+p8=jpqhcBp!b zd~ukR=k|W#;uSMRS9`6slIEKy)a9ynFZb@!-AjD-{rTB`KJLi1%sHmkeBFnoo3hL@ zUX;Jt6L3cJ&2FWm-X5o}RBaDDuu|J;=87fNZ>zpeow9M0mOpbn-v@wrw4!%cDyFb;MaD^)W{?WJt0~woEV%m)@TF{eJcY z#nnu#$MvGrL}tI(GHZ#)DFOeStJnVK%smzJDur2r1FuQzrd%{Ae zNk+c6%LLfl4xfw9{}UJODf#-4Yg%<)(*AI!%A3~TrB!x@2^fkntKafmWc_|yO@E5u z?~~WW<`hi*wd=|MOFdifuB?!d(kh+W_xJX?c8g6F z$-ceq?fm+GntIE^m;29O7rA-alPJfpudaG~cnC~aufMcL+B~o0^2%+wx8446s%%d^ zJ#GKLU#m@|FKrMp`KGu0icH?m=kx2`dw%pe*?Di)bz2{|chlCbqBr;Y6crXuoKpYe zL*isL-xelIj_q&m?3^5DUHj|H{JLMAOa2r+|MxuRYR#@AhMUDMtEEi(EcGc}QF`{u z)i#SKy_+bOap%#~E%n*ktC)42tCoajT~*Z7wJQ7AY3m$h^KEX%jbF8sfQal$9KLb;bX6373BN&s8~lO*4L94fkL3 z%~z$8KDSCg)e2V?zm|KaN3ZYZq>}k1nHdbr>NbmA)Z|Yp*?f0p<@-DN0+|XPr%t`t zyQEW5bK6^ckt}J8i+xL`Xatw-^XFJw^Wll)6ZNOtHx+UH?)zKT_~J>3qTl5;vB!Vz zTUc_z?9r#WOAlUjy55~K(adAVsem1>9a|@?7vuM2b_kr{nDIH#|JR4jO8ws#`3f%K zseIbGTJ7w$l@TX{t{9sL?tiZ@q8BzN=Eff9^zE@54R>unnYUG(_W-C+)qS?_b%tYh z_9Q1B!QO)t;+>xVEs-|~S+TZwf8(4y+f$o5<~})p;IgOfJ_)~|HMv~U@sFM2>R%lf z5i=D^De~;C;JHx_Qy{4{K_>&pDM58cpiK+CvLTf9lPvJLj?AW>U z?^p5prT_o^O+4K8GHctff4|>nZqy83Het%D(A9F5MJ<1R9+$7bar^e|&C9kxv1UKjh)xu+B56DMqc=d`E&9|xvgyyF-iL;guXSFV z<*Ci{dsqI(=H;IWCA*CM51e$dVzN$mUa(`8zk82zCvWstL3OVmm-6_Qcfa$#W!-4V zJ=c@@Y--${mFA#e{1hG8`J9VkfyJG2`NjICfv5R*=h_rbR5|yZbD^N%BDMG1)iq6} zO_tP$t-hY{w{h|je`&*N!`k=`yFYJ0Zu=sAI9mFVjMq2Lm@S%3*Pd;B&+_wg^SeJG z7ryWQE;POHZrOxAho0%Kszc=kX z;w-l2QOnZREhT$Fx!x(~S<4I`LFCHt9p|U-m^}; zw6a)IxO}naoIFR}w=*o-a+cQeE?Q{(%sboc!sEJcZz4N|{&>y$`uciz)tNoNzPxn4 zRQ>(k+;!cR7tW^j$y%%F85ceAnDpbM`uq#_FSTas#qR1j9kah~Z@@yQBPT73pY>S8 zuDNn0L@FTj`a0RU3Az{OT9?1Ny4sy9WL?b9e*1q5I@=EEI;~lne7w(po{eC-qdN4-|t8G1U;X**x%Z`q{?ZoR65;)H*4CrXw=ygUL;)Cwu?`1EwkO_kJ7pSFHE|0gW$P{?{t@9;}5N{@|?AKmiuTJx0mpTB09 zb^9sGe_Ct%^8XZ_=)RhHTXNPe@#$CmW3o~2FZ=P7Et;aM!lqC8XkXXZx2sCFZ+c4L ziTzi08Q6b*z4@Z>%^1dCv8>#pLjO+YfD6L^jltoSo2D`>P;fgJ>vTWk)3VEM&I}aecM%fkTd+{ zvU=~PZ62q#ytvW2g#X&yd7o~s$UpJ?*!!(hr$ow~)PJwG{?D^+bJfTxrq+Cyk6Im@ zzU<XHlRUHBUR zo8FxJi*G?^EIZG{YdH&!%Sub1e))~1`kT+LrI)7ZMtg+KG)g^@uC88pZPVJdYnS+V zasBt^64ChZ;^N}x=jUI}J+dwDu9l`*$_arhxoYKlIen|wJ&Ov7}&AHCxxQzRuShv8&CE|K90`t2?MUJ>zTimU3&RWUL%$&)! z-1>6sEE~Pw52qdPmuF{Tv9PePsr?n=v4nY<+@0B~rqX=#78Uc{oR{U}re1uYW#w%B zI}7FpZM*zhXlM83w?Sv+Hux;OtZ4n^XU|z7=c>DN@-7+LF75$^%CxM~*OymLXULFc zJ{K>?`A}@?!%~a5oJ-1j_XQ8>mS}A^kX_@o*2>ASfA8^3rHdls=G&t7p83irWtOdY z_mw-7tzpuGB`*(&RF^${^u_evoIGaFPcz@KsolKS9<-IuzVx-Ud$?J*LDIJ*Kl1{a zISFr4-uD(x=Xx>guKwF+7eqXFJl!AR-Ply6ew2BEj*Rm*zF9Vlz5gGK{eRrugw^eA zv{$_6rxoWv^DUd-c_jNv+K!(bFMpNWTyMXdwSM8{=M%%{on0h-#xH7H**<-H>CQbp zPkJX$StwllB52#Mvr!Yyzd86ddeXbgGgoz+yLxTX`0_z3DYPfQ{q?S|41cft7RUMr ztAI+IpdA^8k7rAQriT>XOQh|8a9QxN)t8s%r;`_3%-tpCGQam%+Ya_ankA3w0*?Ft zx_qQAc}8R;Th$%&{Ci(MevI6l*1KZ&AGh1va+O1;Y6Ldb{QL2^|K#(P!OOk4mo5)q zcgElF=BCusCnx8tZM~3taPp^4+_-AdH zcIYY>|DLqNpu#15eOwL$XOn`m(~hG;rSI?UZR5S4bIu^;gupD1!@5UA+S=PE+ZW5^ zUDUQpue2+KUbMUhqJ zT%UjcV>+uEn{5`(Gk1oM*QMAOQWk2&>T9z|rZ7@oc|9fo1 z=j$)`RP6fa=Jfj9pNHB@w2!6<=G?A7@$y_(!e*5TMoUr-UwePq{wO#aHUuc1%u8cf z!ISvZ>#Eh)7q30H{yfCH@XVzL8H%+(-nizd-aM2mZXY-$HKXUPo8?`$Racfqifs(O;p21u$%Z%IcO36~S{?fK_ICC8FFC)> zn>X*0)618#Rv)ZiSzB4<-P+Q5SyoR$cjCOd7Z()$%1?3gPWISR{XOs3=HQ^9C6zO` zmcNgS`gCV!@k<|2G5F>6_4h}+#V>U$au{i~MC*7TQP`Go(TQWJN&dYUj#PQeqLjmJ zyoV-DiQ(V=qgdCwux4&;8;|l^_uAXjo_s#gS$3)H>8r!~%g;V5arP_eOWarU^G2Wn z)7`g@@BeXf|24lX|9;FMx0H6PV%?=Ovcx+=%; z{^I8^%qOWW2)X$w#w{U^DYh^91rO)0)TQ$*vw4;{s;G8P({TJR0;&jGFPqPnV=&!l zRHa|I>&0ceghL_ISD62;)cgEJYWG#?mM{M9ed(_a=f0T2ZgMH|^KJnb` zeeHp1C0xJzE?X{L_~r&HI_+>>%V8~5yi0@0aKFi1HnSZ(n{@)#sMO0TUu3^qy?N_QKHJvTjAK#xpPp}s z$`q;jNcdvvi0aH2gm1UZzmhYrSCm`vE^wVsB)5@=5ACRXgqEAOJ1gl)2GL2+{|~; zH~A2}tH$-0I`8(9SJn<4TLnT_gdP5&*9vO$O_;fU*?G~Ztd9$`=ly=nV(%{S(vf5C z0-u!S$LG$P6}37{Hz>NDPxjKKOL6;ZJhkudE?>VTqw3d%g@3ke4qWV}8?m9GrsDtK z?@LuLUCzI=!!dhD_4joq`nGq^_03lbTkOW0*=Bd~K!10)_b!b)k6yjf>M<9xw6O5d zZ&uLIR=krG`RT)ljGLQMKR^3ldNu9*JYC%-!Fp}c^K2?VC9>D8n{PV(erL81yU*&Y zYyE@T&PHkEh8t~ryYB7=!@K79mw5zk<7xbMAbmZ5!e%wAwae`9O<@kXpLwrqO3wAq zmn8ysw1P(7N}@T>eb^_!kkR+XqW&58L$OeyIR#r|o@({p`+eY6+x?%@FZ=4=mniQ{ znW_;yZCS~$FZGYSTLda*_g8Haops^`t6xd5QQ~|3DmmxgU+*`yI-iSKdjG|)w+lA> zl!$(FS@1E>-&HG?RBvGmj+*e%JM6-tFB5X5@)jz+mCbz9HC@Zs&U{1e(*5CV4U<0J zk#`T54(42VR)5(!AtC!0_o_cUkvx*eq3Lqh?tjzTvm%Rv`c$3u=?ZqYaCT%RJR&c=|}gx6LY%m;~i1|;H=uq;=N5bVmSXE_f=E%o~G;mf5}6! zRi8pvo&9tpBEY;ebQ2eN)kglrg_oamzAarUwe`@s{V(_Ka(O4TtS>TBR3mgbO&wEiv`7aaNL}^b1%C-6kDYkysSswe%|G| z>a|~91iqXqz#=JnNLOstg$n_R@_!yYNXRUE*BTuZ92~vn0l$dunMmD7Qe4c-wo03+ zbuJOt%?&qV+yCnJwmEN4zE|^%Qr^bX$X9pvJ8$ad7n>xM=HJ+yv#v#J>+7OFZ%!-( zmBqT&rM){!tkseiB{^niU(aQ~d7ANpjGA@*PNkOUE4}Y87K^U_JeynC^lyXxnx#HR zy}q31tF;rJt`qg>Y}Sl#dw*~Gn&Mefq%~L9@5=Mn7cXk^XZ$*`)7ygC-883Xx6A3> z@9o_7*S_-N-zFhD-}KAs7n>yZ_ReLwWh*RJ!u4?4qorQ!Z|$;Id;Egq+?KT`83F|I zb|)Qu%;&sstN5lxlimfI`{;ZM61n0#?TOKOY16qKr^~Ir${u)W#x6Yn-=*{$5_+Ex z1~TbQ-2KA*mwbJ(!-9LpucAxd9Fnw1(t2=3v}$3Tx6;GM2jeGC3eCE@u%7GTG_I>z z6|#N(CnLDe&D>@x3Ch!-W}V+Z(`|N|(xV#{@A?}(T5U0vP%d6j?9&9ycbe{KqDW1H6f z`Ej&cd@}#q=CbhXbWeEIS+IO=>Guk{o}a{q=hNey{cI3MV!QuUyrfP>poii2VpD}5jPI|(bi~}tzRl2`~&vn{<@xH_IUtNNIzSpYVUfi1N z{-U+ptZnnoq(l1mHfbIB@BPwG-)YCv(C7Ux%Jf=%3#Y$)X13(AwvRu9!|oZ+{yd!~ zkQZosIp%us;nOeq?yQRI|Gu;HR>^Bcy)cEvp+et8jASo$T+n>JHma(@e}R;JN-YK!^@x{cs-Z>=YTMdd1-opIEZec8d$UKb%HF!oVsApb&0Qz0aWXTzcyi^H(ks@F+mE@nottq! z?P$uHOTX{$(9D^}62<@Xc-Q|m5qp>U>+Dy}@5w9myUbq^ziYwPue08^-;@HS1qJCt zlOh)xiE3BAvDHgCdsD#U^4c|AKjfeH7cK0GJu-jZq2=Nl9?1s(6P^04)zp@G2>#1C z{p{>)??+0hr$6mx&AGQHa*oH<<^J-MOw-TJDSiFJFQA!?cZuqy%jf42~^3TNe@%#V1PvU6m;d&^>eQ9<0 z`Xlvzb5FUOc6d$G(eztxWPfK<{{4MPM}IsHon@9=_1bGw%7H2Kbk~%#tOAe0?d&Y@ z*|=lvA`a>F?%CRmmspoB7k+*BjN_S@_X<(`vgd^k>3);@_bBP}p61Mw<-zwEb5t2J zxP|BJj}bYf`zqP{Qtik2>!SGs4xfJ6XR@I9aHrI^EafSJ-@ZQL=}(qY`cNWdyLk12 zt)|sKx(fc7#-7ti^SmIYms~Pcu6}L#geiHsU#@=HnG@!7tj}TTscHQ_Cfk@LGHYMF z`RDK6vslyQ&ZS-6%Y1vC&c`n9ZuFX_yL|gkW{1c%w?FUQP@k~x&rf&#f~38NCYHxcvMyc9u5M-MdS*##_RgNCY9{}z5?^|4lbE|NYkL** zY}XeTo*VmZkJp>6s`lWD=&tY^D}MHww6;a7cvp7J_bI=&Hfs63XWZsDz!U!p%#TWS zkDOibI)HWGmdD%QJ}SAacI2h@wl{+7CcO)o721FM?%lb1i7ziNKObN3$-O1-?yQux z5gVN*`CVBPY3#TCPRjFhbDua*RB~OSYSdS=E@I;%6X)ga{PLI9^YQRZd6qhD@nYq_ zUCaIFFY7*}Yo2#UK)kr9Xwl1c>()Ig;b`jNcsR}G;$!>yGX6V$JddyUHvW?N!T-$jxHJQnRCM|lPQMxBRdTBN*!!)j zM_-v_c?I*dMst9MX*a9s$Da;kZD>1j>gVa$jn|kX_-3EK&tWz7$g@g>?sGqLrR<9vyO;3%Y%Q5@_-Xxwl)!6mf7;Do=WKNDVCz}Y z8Bg}KU3RT)iF{RcShpqhq4kSB|CY&@2>kockieO8TH(lxCN9xcR~NiDt@K^CW5>qS zn*Mpw8&l8E;ca})KSxApe__eeaKTD>&xG|xN7|Z~p9*{Q{f@$Y?|Z)68h*b^{^EP5 z;?W|N)!#1!s;rLHue*KV+uq+rzpibWST8tt?&E#0SEzJ5oe}?gll#x18!?TI!atoe zxTB)E{np$o@a{Rc?h=>vcj+V7K-*v%-UwCx?EBvMV}oiI^A>jGz@^b%|H@_AZ z7V^v6E%EdA^6FZ0<4`NN<=udJDzO3U+V)A(XRe}ap*YTlVu&Mdnc5fwNAM`X{&Voudn8r+Zg}8uh0Kh zzdmSb*9Q4VUteE;dB}N@{=OedpGEha;oKgxtE6*Yhig{d&rhkl_Av%uvQ>-CPP(u9 zw(I!4$3IJyVv|0lUuXPtZc=V_&7_rYA1-JA_V~xXrw*RG93H$>*(JIxcemf0IjN_n zUrxJR|Jdez!mK2fJDYw!I=ia$hw_Ov+~OB+yRtiIOO*aAie2-SA%E_RCn4{fKYH&` zmifEgW%&%NNA}lWpUrYwl)3J8>#CNgI;`BHT(-XtGwnB6c;n4i#w`)+*SlR3Nou_L zR+ZOLEC0r?+M>{#UQ=&|PGTx?o_F4@R@t+Dd8PIwyMjw4pKcnq%zu)a8*K3)Wzh~E zSsT^;r%r@Tp8NabWN9vO-Lw}B2HRsdx^{gwlrBt8*SI4z*-+&4(+p`tr^KJ&6G_a46E-U_KL6+DF;FGG*4Tx=M!XqRu!%`9HWxS(Cik~`=0F5|esnvyJL z)h*mvAFu5Rn)x3ye0W#t~aGUweYi=UsXw$}bG3tCX} z@)Bt9ce%UUC&qb2PfuMm@H{>34;zD@pWh?UEO6eP8TJ{KXJ?r{D%p5$o^AHh+5b!{ zKc!^O^IIRcSITC_ede3DZbfmdli=DeaCcwr?v^~Z=($#<|9(8?_tax?TqBToQq~r> za{Hz6*@L+=-7mbaPcfQxtn|r=+08x{cb!0I7v8viTbSEBxMQkK{l7h5q>K;g9O7%a^LE~I{JD0G$EK2_scFxuJ|4BWdnd*7WW(f6r`v9J953At>9$NY{GGwRrSoEd))U^v)A(w1-G4l%=o{Rm(FK1K9 z#+w;%v385cMy}A+m!~ADdVP~O|GBs^{t~OwoP95!xJg)+b1t`jb5J$Qe73g1>15^Q zw@rL%BqU;+JcVle=XGB!J&oqPpDsjc^NRYYcNR-CZ*ra*05@57R?qpvSynuRAEkzx1S zzRPdVyk+-ibk2EqBYIc5cwx-TWm^xut2f-0d+NoshQsOlNvlOa*iCZy?yqcmCSrEx z*RqsHcLg_#i(m1zR$aHOqTWFH;j{~z?E_|K1}|ALafcBoWquKwG~tod#{6mA_P5N+ zzaBgLeDg;8^yT}QjrIurRl3Xa$ZX2W1G{DRaCdS*W;;hkOa zKNWIQITVWs&IG%^96S zYpv>Cq!wSByLxw_bNqDs!DBcp^LL#19TBtJ=7pck%AY(nr0f{7Lx{kt8r{+f(rap3DEGoO!9Z zt$T{1pJr^x-2>aEer%q_@osnDB~z0*dM%fiMe`>K%qoAOvt!MX;Hhs~vsLa0Ew*m% z`ZwbiuQYcXco&6R$DW$w$dOYVXeq9H(?zqKj6{E)PDu?d|-hZ!~ArHKiwf`P}nW>E@-^*Vo^@ zd-wG8=jR;-L-yDGjon@5*`20w{NXf7)sJd-;FWbB9PmqM;lEoT#w*_r~ zJ$*-^(tLKmEyC}sGFjF;FZWcxcB}3F9iKJF-fx}zURq0YPU;TV8?)LnmhIM$W?=Z5 zeBkG4WyL$6$~Z0RG9w?98_U=p=?&y-3u6t-y?g(_xBa5JbM#JJtbe0&l3{7`iLhO7 z`xTP5s2=x|NzJw?s+KFW+j-W<0&kxExfivfoL`^2>zgCMXfQd(grnr-^umeT+oqJ< ztyT=-IKT1bkn6Uj};5p2>6QT>Sj^!cM2oe7iH{sZG+fv*LLct+noY z>J!{9p7@io>#&;jCsl_!PF>}DUsd1yxqB?PM)QerwP=8F)c(8Bk|lDIIDZOs|HQg` zC(PU|rK6@k*lB+*Z>zZBiEgvDZu2t}HyEYe->!Xa;v~7>ej9ckQ{?SUd7UD5GGtRj zaQL$v4wd~~Cg#WLuZoC&U#V?-r(8a{c=M6m@Hbyf?>&h=QGfF#E7OzX6XI9wXP(yh zfj^Nwy)iAY%khKVqyzgV3AG%$sL8)V-27tZSEv7HBlYAH74uD^_qR+io~fj|&;9(( z>K~K!OF4RswxqP|sXBeAe1g#tAIbZRee|Ozz1y8btLakIl+qwtWX0bUA)YVsG8wD2@5krisbR%S%W|h>4ZGy=AHxyGXwNPvPxt zxl3;R`}?~!qxa>nzu)hFe|J}U#pQ|0?keoZII2EAV*T6tr6GOqueaOpXGnf>oW-6Q zT50%g9TO;7{P<|xSG)j}D&BNR9MrbI^M(Jup>lCUY{KVq_De2q!G%G88!`(H$v#X} zn17SW!8hY?nRLOwPadG%0h7D=Q%by6-JiI*uP(66`-{1orCby%!wJ|vj_$Wo0bDz) zFW>Y%tfIqzE3Z)d=u`0SC2jHJ_pYk6L~pvFzu)#=<%=Uq;r7>FaMx`AU(MCh=AEi9_g&u? z+-=^nacw^f&swGh9MIhk#kWis1f1FP(#?!_@`HU>AMD$gFIicAM$+81ajr=J+BNSP`;Pp5veV_|*HcqovHP4Y;b_=|Sbsf#j_rg-_4R8w?phwM zWWN1tLqdiq!&2DhjWw~%U25s(wx@j$AGx7h`2Eh@x0@B8Iz#snnSEPVrFiF)TfKd4 z*_$t|Q{xt{S$O@lk9&W&C!7DKpgACq8MiZNh#(eXpS;E_S@`qZF4^PHcC&7H+ox!- zg{z?nx|L|t)pd-e6V}eod$cSu$-{Ggb6fw)?JQ3qF%_Ns{?^26hjrIqzP$e49_cNq z=Y8Dyubq-k`nKt-{hdA9YrRi`qHCKB(}EJjTJhskAX^`j#pjr(E|zyXctMNd6cc2h zl)=(iX05|VX6OA{mY9@gQJH5`)wuTTCh%s>X*$8j?wM-5ZHt!s|1;(O#mnB;@>1UJ zE_}BB%g))q7B4Yd>iv~@nVJ=ggKWm%veU2sth`q>qyHm&5yqZS5q8Kz^~61~%&U(4 z@I8NRS)$OJ>D8>qR5#tvC1MZ)(m$bZm%U>9z$V=P_# zecAJb%LbgA!+*7?#H8*&Cj{Agqq8^p{e-qdy8QM3N^kE={v4i`uew;`d1)hmechKY zH;cc1eD2@xlxr2Bwfb7JKeddKItp{U5-4xjk2i_yxFl3Wg}@hbR%g>-Jh5KEzuDx z?e7GgxV12I_0!dR%r~>ig0}xNX3sY7y=b#t!AzWCfhIU3Ff7REFisAx=**p+`uX~y znT!sv1)3WQx?QyRw@+FB#3JjK)VDxTn>%H3mamB$LxVYZUjl=}#VeJ^GvD}F7&9=) zfvmH+<7BwM<0}J0N{6S5V@Te%sZ$T{_MN`7s(mv*3j+g#0`rmo3wkfsY@Z_|#mNvL z49@Qi0VYRgY6c{DE`D}o=D}BD3|sgP>8`mVpC_1C`Ko`vOOAcU`zI&uB-I{Cf4h6% zf4*JyznEH^pFaa<_*Q#eS@~qe5o;~w2Tw{r{R=*kzKsD~_oz>9z5es0{{D^ctKTgG z?W}sDC?ci&Z$(@1Nxg%&ms?kDSljb*O|RXFIzfg5pP<`@w%q%CNhK)#S;?uc3$ey? zu5H%qda3iZw_{Ju?7w>4pe=t4)6V$Y|5uc&p3ZkRJ5-8m`-LO*^X$59E6<&@ZP@yL z*#r4~k3*xPp1luj{#W})r77FF)3Vt1*(>L%j&m3`Iv)^Y$Z~qU-TL9K4_5zwACJGZ z-FEv@kn5`CPnpMO64YSH2e=O3-P{_>^g^}L^Lx!a>3or|h` zyut{)@9e_na;=b9Uqx8)56g8E!C8F2a{BaNZoa4Ml3i};&u{(+S^%jd3EA*=$YVF# zm9CGou+eDOE*BMs?m*K~PJSOXZPsDkWiKwiudmtu|97SKo=E3>mancc1_@jZ zRTHlNZ2o#e^bn4%qzf`&X;BH=9#W2=Ia}oN7XJGF^mOp^^=m%yCFkx{3=u0l*r3Vq z$}#Ra|21Xto0CfF|IXX-^JZkT{o#|w26_|Maxp9@ftp)lCcFQMj6m}C64}?=C7c)` zJHl8r{V;cmO2BtwJz-@m>^#R9?fYih4gK2!lM1G;Wnoyr2Q@N7N$+0KeKG6wsq(LP zy*PSFSr1f8f%j`&T&!OIzxcuLigwdT`G{4sI=B(Lzbf5-ERD{K=06+v^6)l0A&;47 zpXYBdWnc(_)UpgBzF)4k|J(Rn_V4x^x+klII$hmkKxMbU5(~vUNdcLenbRk&U(er_ z_;#N}sS9%GW_y?)ejd=&9By%&p>yW$s^lX}Z@+oUz+ejAd&I!7RJiWpvs*8kH;1Jd zb{;80a_`9~`+uLJzr4F~vyERT)bR)_^D>4N?3HuvBlvG}bnf3}l=Gcu`PUp{m&g}# zB2z1-?-gKJU^1hyya!C4x+6Jv!ps%g<+f#Vv$vNC z-xd-S%fBHrH>FZmh{53=xY`7{x9r`oS0`#WPpjU1?u^Olo*m#)-lGt6>n0*0JkH(t z@dm5<|BSN7$+7KE7^CGF79_!)IyrbR{}KIr8zLW_N%>(sO$3sBCp>B?@aFq^eDeM> zdApqjQ`hg{4ah?Zg#PW`KU!z6Ud-q5tVx&umfYDXEDS5;z;0@d0bVA7n#Vay-mEYbhZ9W{x^;73;n+vG*a%Ac6 zX7%?=;FT6I8jA-&ZYt zR=}OI3(*1qwIe}zfhfF6WBPcg0alBH=CMH14PoHk1E^f)KEjQtj6iZA9OVe=I)TeF z0ewXA1(E{c3|3G-js;Y?JM0;}mQUi{TlF>T{k^?qWo624JrdSsISC05E-&|A+Is2o z`#U=~r=6WOQQ3V`lCZiT4;NR}w>LAl1elqYz6uGt-6LtdM6xGtPlceE*tetN@g{k9 zc1-iLt^O9Xx9aQr{r~lJXU(ho@**(kZ40L`5ATd~U-@2Lsy9fS@s}x+nVDgO&y&)B zJdykpmRG#7HZ1vNlQn<;9JA`bjgxa`cAPFx+x7dKoK@G9mmiN7e6rMfDHp91eWu{^ z!uVZz=fCHyYnghn+FtsrZ|&`AqN~ExujE}>a(;v1y4!r4RJW_#U4C_4&&}h{gqZx) z%H+R@YC8PeZTL}RQ>q6=jY~5`czj}r?R@@ zj<9GeT|m%N%^h^`o|aVd(RIqxzrHPft(p|5NAr zK>gLJ*jd@{AD+MFCbdB7>wVRotZUakuVUZG%5Xtvw*I}G>z^0-6~238-HN0;6%QuVq})#HCkG41)>XKVlcu2qT@)%bDrO5~(Z^L{_h zSa)xs@TBNvNve~g*SL62UvW2w5fn8V-Kvh!r$X0FI_dgg$F1I39%^wCui^#1N*hmH zdrhR{v`hAeZJIJg&$OZ)63#e1KXkM!{ogI~tP2YcF7=+Sa`%bnWVMNF`ed!WF0GuV z8|}9K?fw1x?`80^IChC0(p7u;@$qrfY_H>MS9FQ%*F8SQ8R16(YLp^#r0weN=w%U zwdU_yvt~`%n;VKdTa3XAXur-f=uPzql?u{-dfJcvWyoqgXCa`hGqJ-Oq8?`|t0$-IKQFYuahyUHreiG?M*x zq|SO>73BPM)>g~8kpk`2N7wY+3}55o>Gz%MyQEp#KL3vE3opO^R`dUDS83_&8<*yP zy!pb%Sp{tNQkR!T>!SHL#DkBANZnZWT=4ZF*Nn^hf`tZ0PDiZdUl4A|xBW`?tvRPZ zr1$6)ytFM5`MYS=dlQ+>7b;UfnDL)0)4aYyK747!#YHN6Q%+7gdGh3=yiF598|5Tz zDn6W^uD|rA0E=ck$MzX2>gwuQyxd|sFCIM-l9zw~?3vn{BuUdO5zWsJ4mLBfa$T5m ztXKN|t*zRIh8J(%jMOkoIKYs(SM3F;*jgxUdV5>0^m6XoHg$g@qBLx66%`xns^8z+ z`~R1>)q!6xE-rp{_Gj3VoST~-o#t(gZizT;tsB)o?{8yn4g?JqcnfHqX9n+6|D73ZuK+8&#){GO|zvY}=cH!-3 z{S!}_)o)$RyfUR`#)cBr=rr$3wX>oZl}PRtK5zd&P3o^?aCj95WGmCrWgZuo9=w>7 z%a9?N#Q37y`O3=o44;mjE%~k+yHCk?WyoT&YR-)kKR-PcUT36!=hBv3_P*`RtG%Y_ zy4$_zZ4;88#1?a478UPz{4(95HBa~w*hk(gH$A;ucGN2iR2?=5W!`=) zeCwUKc4XG4Pg{@7e`%b<j4e63fA9IX^{d|Fp0Dw$Fuu<|dS6ZDq}#hnUteDz&wV$=`JtHN zHKUvx8^YJec@`;h1hos~8G7d4+Om+X@Z20rr$-MCHfKKC{eGYKzb_v@F07wa_vY&A z@YbZq$NQJRT7YE9#q)jpwe7BHX z^yEp3RDa~oqNNj7nBOtFeYN{ol+^aj^o&nN3oru=tPG zi!O_vPPF#)TDfV@aeougO!Y0cZTV)OGcRuBjxL@y;n{+Mi%CyDr3zZN-_(Cl!u{uF zlJMNH;$3AI6cxJ8s=6$<$+*##A9VDuBzO~1(2|PI)Q8qLRxw<#_Zrh&?vqAn*IudoF-u9bZ`fAYbn1)9kUc1zFa%b*)w!d}fp_)y6 zwRVd&yUkoLOmQ+Z%TJO^`+TyXPI>0Hy}#S${av_VtLe`@CMs@0YL70x6-qrdY0b6R zUH_-g+j)F%>S?iGxA|l&6iOz41#MnC4Z2qJ(xoGj0xT;%v-q~}shKGzT|FDLKY8=w z`1-$JKRi7A?%lgX`x0MDUYook_4KqS=Q}z&;`UZ;&A9lencwcm`%_;^`1$#x&YU{s zCG*-WaIRIU()Dxm?dR8&m6fT@mp04M(40JHj?aE26&06Bs@JZp3_jj3zd!xFoMJ2Q z_A^gjU5@C^{mp+^|6Y=`N~_S+DZ5O5=(N_PaWj}M{Cc~$pu2TqH@`~Z_t@>Sb9SA& zTsL?AgdItz&hZgkFf3M_a|fv%-BwR=_72HtPreSHJ)m+U=%G(} z{HOHYakZ9#CGH3EzOwz=n_VvVQ{T3@|M%C|*K2=&+q!wPb^X6R7kt5cm{Lzo(X^D1 zZc#WLqSv=~H7I&*>i+aRmeF{!+2pp((q+rSR((l(eBx-gxc6q)Sq6zrx?y{(N;Bia zc9p%Ay8BsCRkig`<@$-&m&rB7@(-1WAK$M>t!-DW2$I z?ks*jiTmj3)LrH8{en*L3rzKrH%{a6Tob>4pT$LyPSBpBrH+@M1%}^y6S!FF(=9~? zvDRz(+d0q0>v27trgL&Jd(r1s=_9|_hi$jJf8fQmtJbZx$HivvI`#SQyS*=7Rrqax z*uQW>kD$#rx#b)GmsamvuK8t3&Zni0A5S_Neqw&H-6H?qxv(UbLQt4LIXz!~qu2tw zPbU;A

c`-wB*W$U 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 i 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

_Vj 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 z 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 "P-CSCF" : INVITE +"P-CSCF" -> "PCRF" : AAR +rnote over "PCRF", PGw #FFAAAA: Policy decision +"PCRF" -> "PGw" : RAR +rnote over "PCRF", PGw #FFAAAA: Installation of the Session Bearer +"PGw" -> "PCRF" : RAA +& "PCRF" -> "P-CSCF" : AAA +"PGw" -> "PCRF" : CCR +& "PCRF" -> "P-CSCF" : RAR + "P-CSCF" -> "PCRF" : RAA +& "PCRF" -> "PGw" : CCA +& "P-CSCF" -> "E-CSCF" : INVITE +& "E-CSCF" -> "PSAP" : INVITE +"PSAP" -> "E-CSCF" : 183 Session Progress\n(SDP answer) +& "E-CSCF" -> "P-CSCF" : 183 Session Progress\n(SDP answer) +& "P-CSCF" -> "PCRF" : AAR +& "PCRF" -> "PGw" : RAR +rnote over "PCRF", PGw #FFAAAA: Modification of the Session Bearer +"PGw" -> "PCRF" : RAA +& "PCRF" -> "P-CSCF" : AAA +"P-CSCF" -> "UE A" : 183 Session Progress\n(SDP answer) +"UE A" <--> "PSAP" : Early Media +"PSAP" -> "E-CSCF" : 180 Ringing +& "E-CSCF" -> "P-CSCF" : 180 Ringing +&"P-CSCF" -> "UE A" : 180 Ringing +"PSAP" -> "E-CSCF" : 200 OK +& "E-CSCF" -> "P-CSCF" : 200 OK +& "P-CSCF" -> "UE A" : 200 OK +"UE A" -> "P-CSCF" : ACK +& "P-CSCF" -> "E-CSCF" : ACK +& "E-CSCF" -> "PSAP" : ACK +"UE A" <--> "PSAP" : Media Exchange +@enduml diff --git a/msc_scripts/TD_VoLTE_ECO_INT_INI_04.png b/msc_scripts/TD_VoLTE_ECO_INT_INI_04.png new file mode 100644 index 0000000000000000000000000000000000000000..d593bcc2be8cc22177229823e08541e0ea43c319 GIT binary patch literal 220317 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