Loading ttcn/AtsImsIot/AtsImsIot_Emergency.ttcn +177 −7 Original line number Diff line number Diff line Loading @@ -285,7 +285,6 @@ module AtsImsIot_Emergency { 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 Loading @@ -309,7 +308,7 @@ module AtsImsIot_Emergency { // Preamble f_mtc_userRegistration(v_ueA, v_userInfoA); f_mtc_userRegistration(v_psap, v_infoPsap); // PSAP is not known from the IMS A f_mtc_check_precond_TD_VoLTE_ECO_INT_INI_01_01(); // Test body Loading Loading @@ -434,7 +433,11 @@ module AtsImsIot_Emergency { // 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_INI_01_02(); // Test body Loading Loading @@ -542,7 +545,6 @@ module AtsImsIot_Emergency { 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 Loading @@ -551,7 +553,7 @@ module AtsImsIot_Emergency { PX_DIAMETER_RX_INTERFACENAME, PX_SIP_MW_PE_INTERFACENAME, PX_SIP_EB_INTERFACENAME, // E-CSCF -> IBCF PX_SIP_MM_PSAP_INTERFACENAME // IBCF -> PSAP PX_SIP_PSTN_INTERFACENAME // IBCF -> PSTN -> PSAP })) { var SipMessage v_sip; Loading @@ -566,7 +568,7 @@ module AtsImsIot_Emergency { // Preamble f_mtc_userRegistration(v_ueA, v_userInfoA); f_mtc_userRegistration(v_psap, v_infoPsap); // PSAP is not known from the IMS A f_mtc_check_precond_TD_VoLTE_ECO_INT_INI_01_03(); // Test body Loading Loading @@ -1010,6 +1012,97 @@ module AtsImsIot_Emergency { group EmergencySessionRelease { /** * @desc To perform originating UE session release and the tear down of related dedicated bearers. * On call release, the P-CSCF A should trigger the removal of all relevant previously created bearers * @see ETSI TS 103 795-2 Clause 5.3.3.1 UE Initiated Emergency Session Release * @remark This is option1: IBCF is connected to the PSAP, the interface IBCF and the PSAP is the Mm interface */ testcase TD_VoLTE_ECO_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 ); 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_EB_INTERFACENAME, // E-CSCF -> IBCF PX_SIP_MM_PSAP_INTERFACENAME // IBCF -> PSAP })) { 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); f_mtc_userRegistration(v_psap, v_infoPsap); f_mtc_userInitiateCall (v_ueA, v_infoPsap); f_mtc_userCheckRinging(v_psap); f_mtc_userCheckPeerIsRinging(v_ueA); f_mtc_userAnswerCall(v_psap); f_mtc_userCheckCallEstablished(v_ueA); // Event 1 f_mtc_userCheckCallEstablished(v_psap); // Event 1 f_mtc_check_precond_TD_VoLTE_ECO_INT_REL_01_01(); // Test body //f_mtc_userInitiateCall (v_ueA, v_userTelInfoB); f_mtc_check_TP_GM_PCSCF_BYE_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 2 f_mtc_check_TP_MW_ECSCF_BYE_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 3 f_mtc_check_TP_MW_IBCF_BYE_01(vc_vxlte_monitor_components.mwBE, -, v_sip); // Event 3 f_mtc_check_TP_MM_PSAP_BYE_01(vc_vxlte_monitor_components.mwB_PSAP); // Event 6 //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 f_mtc_check_TP_GX_PCRF_RAR_02(vc_vxlte_monitor_components.gx, true); // (RAR – Event 11) 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_200OK_01(vc_vxlte_monitor_components.mwBE, -, v_sip); // Event 15 f_mtc_check_TP_MW_ECSCF_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 f_mtc_userCheckCallTerminated(v_ueA); // Event 22 f_mtc_userCheckCallCancelled(v_ueB); // Event 23 // Postamble f_PO_user_home_deregistration(v_ueA); f_PO_user_home_deregistration(v_ueB); //unmap/disconnect component ports f_cf_user_down ( v_ueB ); 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_REL_01_01 group f_TD_VoLTE_ECO_INT_REL_01_01 { function f_mtc_check_precond_TD_VoLTE_ECO_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 group f_TD_VoLTE_ECO_INT_REL_01_01 /** * @desc To perform originating UE session release and the tear down of related dedicated bearers. * On call release, the P-CSCF A should trigger the removal of all relevant previously created bearers Loading Loading @@ -1100,6 +1193,83 @@ module AtsImsIot_Emergency { } // End of f_TD_VoLTE_ECO_INT_REL_01_02 /** * @desc To perform originating UE session release and the tear down of related dedicated bearers. * On call release, the P-CSCF A should trigger the removal of all relevant previously created bearers * @see ETSI TS 103 795-2 Clause 5.3.3.1 UE Initiated Emergency Session Release * @remark This is option3: IBCF is connected to the PSTN network */ testcase TD_VoLTE_ECO_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 ); 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_EB_INTERFACENAME, // E-CSCF -> IBCF PX_SIP_PSTN_INTERFACENAME // IBCF -> PSTN -> PSAP })) { 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); f_mtc_userRegistration(v_psap, v_infoPsap); f_mtc_userInitiateCall (v_ueA, v_infoPsap); f_mtc_userCheckRinging(v_psap); f_mtc_userCheckPeerIsRinging(v_ueA); f_mtc_userAnswerCall(v_psap); f_mtc_userCheckCallEstablished(v_ueA); // Event 1 f_mtc_userCheckCallEstablished(v_psap); // Event 1 f_mtc_check_precond_TD_VoLTE_ECO_INT_REL_01_03(); // Test body //f_mtc_userInitiateCall (v_ueA, v_userTelInfoB); // TODO f_mtc_userCheckCallTerminated(v_ueA); // Event 22 f_mtc_userCheckCallCancelled(v_ueB); // Event 23 // Postamble f_PO_user_home_deregistration(v_ueA); f_PO_user_home_deregistration(v_ueB); //unmap/disconnect component ports f_cf_user_down ( v_ueB ); 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_REL_01_03 group f_TD_VoLTE_ECO_INT_REL_01_03 { function f_mtc_check_precond_TD_VoLTE_ECO_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 group f_TD_VoLTE_ECO_INT_REL_01_03 } // End of group EmergencySessionRelease group EmergencySessionAbortOrReject { Loading ttcn/AtsImsIot/AtsImsIot_PIXITS.ttcn +5 −0 Original line number Diff line number Diff line Loading @@ -23,6 +23,11 @@ group SUT_CONF { */ modulepar charstring PX_IMS_A_ICID := "PX_IMS_A_ICID"; /** * @desc Set to true of PSAP shall be registered to the IMS */ modulepar boolean PX_PSAP_REGISTERED := true; } // end group SUT_CONF } // end group SUT Loading ttcn/AtsImsIot/AtsImsIot_TP_behavior_MM.ttcn +172 −32 File changed.Preview size limit exceeded, changes collapsed. Show changes ttcn/AtsImsIot/AtsImsIot_Templates_MM.ttcn +120 −92 Original line number Diff line number Diff line Loading @@ -131,4 +131,32 @@ module AtsImsIot_Templates_MM { } } // End of template mw_TP_MM_PSAP_ACK_01 template (present) BYE_Request mw_TP_MM_PSAP_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_MW_PCSCF_BYE_01 } // End of module AtsImsIot_Templates_MM Loading
ttcn/AtsImsIot/AtsImsIot_Emergency.ttcn +177 −7 Original line number Diff line number Diff line Loading @@ -285,7 +285,6 @@ module AtsImsIot_Emergency { 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 Loading @@ -309,7 +308,7 @@ module AtsImsIot_Emergency { // Preamble f_mtc_userRegistration(v_ueA, v_userInfoA); f_mtc_userRegistration(v_psap, v_infoPsap); // PSAP is not known from the IMS A f_mtc_check_precond_TD_VoLTE_ECO_INT_INI_01_01(); // Test body Loading Loading @@ -434,7 +433,11 @@ module AtsImsIot_Emergency { // 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_INI_01_02(); // Test body Loading Loading @@ -542,7 +545,6 @@ module AtsImsIot_Emergency { 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 Loading @@ -551,7 +553,7 @@ module AtsImsIot_Emergency { PX_DIAMETER_RX_INTERFACENAME, PX_SIP_MW_PE_INTERFACENAME, PX_SIP_EB_INTERFACENAME, // E-CSCF -> IBCF PX_SIP_MM_PSAP_INTERFACENAME // IBCF -> PSAP PX_SIP_PSTN_INTERFACENAME // IBCF -> PSTN -> PSAP })) { var SipMessage v_sip; Loading @@ -566,7 +568,7 @@ module AtsImsIot_Emergency { // Preamble f_mtc_userRegistration(v_ueA, v_userInfoA); f_mtc_userRegistration(v_psap, v_infoPsap); // PSAP is not known from the IMS A f_mtc_check_precond_TD_VoLTE_ECO_INT_INI_01_03(); // Test body Loading Loading @@ -1010,6 +1012,97 @@ module AtsImsIot_Emergency { group EmergencySessionRelease { /** * @desc To perform originating UE session release and the tear down of related dedicated bearers. * On call release, the P-CSCF A should trigger the removal of all relevant previously created bearers * @see ETSI TS 103 795-2 Clause 5.3.3.1 UE Initiated Emergency Session Release * @remark This is option1: IBCF is connected to the PSAP, the interface IBCF and the PSAP is the Mm interface */ testcase TD_VoLTE_ECO_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 ); 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_EB_INTERFACENAME, // E-CSCF -> IBCF PX_SIP_MM_PSAP_INTERFACENAME // IBCF -> PSAP })) { 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); f_mtc_userRegistration(v_psap, v_infoPsap); f_mtc_userInitiateCall (v_ueA, v_infoPsap); f_mtc_userCheckRinging(v_psap); f_mtc_userCheckPeerIsRinging(v_ueA); f_mtc_userAnswerCall(v_psap); f_mtc_userCheckCallEstablished(v_ueA); // Event 1 f_mtc_userCheckCallEstablished(v_psap); // Event 1 f_mtc_check_precond_TD_VoLTE_ECO_INT_REL_01_01(); // Test body //f_mtc_userInitiateCall (v_ueA, v_userTelInfoB); f_mtc_check_TP_GM_PCSCF_BYE_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 2 f_mtc_check_TP_MW_ECSCF_BYE_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 3 f_mtc_check_TP_MW_IBCF_BYE_01(vc_vxlte_monitor_components.mwBE, -, v_sip); // Event 3 f_mtc_check_TP_MM_PSAP_BYE_01(vc_vxlte_monitor_components.mwB_PSAP); // Event 6 //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 f_mtc_check_TP_GX_PCRF_RAR_02(vc_vxlte_monitor_components.gx, true); // (RAR – Event 11) 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_200OK_01(vc_vxlte_monitor_components.mwBE, -, v_sip); // Event 15 f_mtc_check_TP_MW_ECSCF_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 f_mtc_userCheckCallTerminated(v_ueA); // Event 22 f_mtc_userCheckCallCancelled(v_ueB); // Event 23 // Postamble f_PO_user_home_deregistration(v_ueA); f_PO_user_home_deregistration(v_ueB); //unmap/disconnect component ports f_cf_user_down ( v_ueB ); 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_REL_01_01 group f_TD_VoLTE_ECO_INT_REL_01_01 { function f_mtc_check_precond_TD_VoLTE_ECO_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 group f_TD_VoLTE_ECO_INT_REL_01_01 /** * @desc To perform originating UE session release and the tear down of related dedicated bearers. * On call release, the P-CSCF A should trigger the removal of all relevant previously created bearers Loading Loading @@ -1100,6 +1193,83 @@ module AtsImsIot_Emergency { } // End of f_TD_VoLTE_ECO_INT_REL_01_02 /** * @desc To perform originating UE session release and the tear down of related dedicated bearers. * On call release, the P-CSCF A should trigger the removal of all relevant previously created bearers * @see ETSI TS 103 795-2 Clause 5.3.3.1 UE Initiated Emergency Session Release * @remark This is option3: IBCF is connected to the PSTN network */ testcase TD_VoLTE_ECO_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 ); 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_EB_INTERFACENAME, // E-CSCF -> IBCF PX_SIP_PSTN_INTERFACENAME // IBCF -> PSTN -> PSAP })) { 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); f_mtc_userRegistration(v_psap, v_infoPsap); f_mtc_userInitiateCall (v_ueA, v_infoPsap); f_mtc_userCheckRinging(v_psap); f_mtc_userCheckPeerIsRinging(v_ueA); f_mtc_userAnswerCall(v_psap); f_mtc_userCheckCallEstablished(v_ueA); // Event 1 f_mtc_userCheckCallEstablished(v_psap); // Event 1 f_mtc_check_precond_TD_VoLTE_ECO_INT_REL_01_03(); // Test body //f_mtc_userInitiateCall (v_ueA, v_userTelInfoB); // TODO f_mtc_userCheckCallTerminated(v_ueA); // Event 22 f_mtc_userCheckCallCancelled(v_ueB); // Event 23 // Postamble f_PO_user_home_deregistration(v_ueA); f_PO_user_home_deregistration(v_ueB); //unmap/disconnect component ports f_cf_user_down ( v_ueB ); 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_REL_01_03 group f_TD_VoLTE_ECO_INT_REL_01_03 { function f_mtc_check_precond_TD_VoLTE_ECO_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 group f_TD_VoLTE_ECO_INT_REL_01_03 } // End of group EmergencySessionRelease group EmergencySessionAbortOrReject { Loading
ttcn/AtsImsIot/AtsImsIot_PIXITS.ttcn +5 −0 Original line number Diff line number Diff line Loading @@ -23,6 +23,11 @@ group SUT_CONF { */ modulepar charstring PX_IMS_A_ICID := "PX_IMS_A_ICID"; /** * @desc Set to true of PSAP shall be registered to the IMS */ modulepar boolean PX_PSAP_REGISTERED := true; } // end group SUT_CONF } // end group SUT Loading
ttcn/AtsImsIot/AtsImsIot_TP_behavior_MM.ttcn +172 −32 File changed.Preview size limit exceeded, changes collapsed. Show changes
ttcn/AtsImsIot/AtsImsIot_Templates_MM.ttcn +120 −92 Original line number Diff line number Diff line Loading @@ -131,4 +131,32 @@ module AtsImsIot_Templates_MM { } } // End of template mw_TP_MM_PSAP_ACK_01 template (present) BYE_Request mw_TP_MM_PSAP_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_MW_PCSCF_BYE_01 } // End of module AtsImsIot_Templates_MM