Loading ttcn/AtsImsIot/AtsImsIot_TP_behavior_GM.ttcn +107 −48 Original line number Diff line number Diff line /* /** * @author STF 574 * @version $Id$ * @desc This module provides the TP behaviour functions at GM interface */ module AtsImsIot_TP_behavior_GM { module AtsImsIot_TP_behavior_GM { import from AtsImsIot_TestSystem { type ImsInterfaceMonitor, ImsTestCoordinator; } import from LibIot_PIXITS {modulepar PX_MAX_MSG_WAIT;} import from AtsImsIot_Templates {template all;} import from AtsImsIot_TypesAndValues { type SipMessage, SipMessageList, NAPTRmessage, EnumResponse, EnumQuery, SkipType; } import from LibIot_TestInterface { type EquipmentUser, IotEquipmentUser }; import from LibIms_UpperTester {type ImsUserInfo;} import from LibIot_TypesAndValues {type SetFilterReq, SetFilterRsp;} import from LibIot_Functions { function f_setConformanceVerdict, f_setIotVerdictFAIL; } import from AtsImsIot_TestSystem all; import from LibIot_PIXITS all; import from AtsImsIot_Templates all; import from AtsImsIot_TypesAndValues all; import from LibIot_TestInterface all; import from LibIms_UpperTester all; import from LibIot_TypesAndValues all; import from LibIot_Functions all; import from LibSip_SIPTypesAndValues all; import from LibSip_Templates all; import from LibSip_Common { type GenericParam, SemicolonParam_List } import from LibSip_Common all; import from AtsImsIot_Functions all; import from LibIot_PIXITS {modulepar PX_EUT_A, PX_EUT_B;} import from LibIot_PIXITS all; // LibSip import from LibSip_SDPTypes { type SDP_media_desc_list }; import from LibSip_SDPTypes all; // LibMsrp import from LibMsrp_TypesAndValues { type MsrpURI }; import from LibMsrp_Functions { function f_str2msrpUri }; import from LibMsrp_Templates { template m_msrpSend_Dummy, mw_msrpSEND_toPath_fromPath_contentType, m_msrpReport_Dummy, mw_msrpREPORT_success, m_msrpResponse_Dummy, mw_msrpResponse_toPath_fromPath, mw_toPath, mw_fromPath, mw_msrpResponse_toPath_fromPath_with_transferReports, m_msrpURIs_ToPath_Dummy, m_msrpURIs_FromPath_Dummy, mw_contentType }; import from LibMsrp_TypesAndValues all; import from LibMsrp_Functions all; import from LibMsrp_Templates all; import from DiameterS6a_Templates all; import from DiameterS6a_PIXITS all; import from DiameterGx_Templates all; Loading @@ -47,12 +34,84 @@ module AtsImsIot_TP_behavior_GM import from LibDiameter_Templates all; // import from DiameterRx_Templates all; group imsMessage { } // End of group imsMessage group g_PCSCF { // 5.2 IMS Registration group imsRegistration { } // end group g_PCSCF /** * @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 * } * * Expected behaviour * ensure that { * when { * the UE_A entity isTriggeredToStart * } * then { * the UE_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_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 term_ioi, * not SecurityClient * ;; * to the IMS_P_CSCF_A entity * and the UE_A entity receives 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, * Path, * Warning, * PAccessNetworkInfo, * WwwAuthenticate containing * Digest, * Realm indicating value PX_UE_A_REALM, * Algorithm indicating value PX_UE_A_AUTH_ALG, * Nonce indicating value "not empty", * qop indicating value "auth" * ;; * from the IMS_P_CSCF_A entity * } * } */ // FIXME To be removed: f_mtc_check_TP_IMS_5203_01_gm function f_mtc_check_TP_GM_PCSCF_REGISTER_01( in ImsInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( { mw_SipRequest(mw_REGISTER_Request_Base), mw_SipResponse(mw_401Unauthorized_Base), mw_SipRequest(mw_REGISTER_Request_Base) }, {}, {0, omit}, "TP_GM_PCSCF_REGISTER_01", false, p_checkMessage ) ); p_monitorCompRef.done; } // End of function f_mtc_check_TP_GM_PCSCF_REGISTER_01() } // End of group imsRegistration } // end module AtsImsIot_TP_behavior_GM No newline at end of file ttcn/AtsImsIot/AtsImsIot_TestCases_REG.ttcn +257 −224 Original line number Diff line number Diff line Loading @@ -36,6 +36,39 @@ module AtsImsIot_TestCases_REG { import from LibSip_SIPTypesAndValues all; /** * @desc To perform initial IMS registration via the established default bearer. * Note that some UEs perform IMS registration automatically on attachment - in which case this test becomes merged with the previous one. */ testcase TC_VxLTE_INT_REG_01() runs on ImsTestCoordinator system IotSystemInterface { // Local variables var IotEquipmentUser v_ueA := f_cf_create_IotEquipmentUser(c_userUE_A); var ImsInterfaceMonitor v_gmA := f_cf_create_monitor(c_gm_A); var ImsUserInfo v_anyValidUser := f_getAnyValidUser(PX_EUT_A); // Test control // Test component configuration f_cf_adapter_up(); f_cf_user_up(v_ueA); // Test adapter configuration // Preamble f_mtc_userRegistration(v_ueA, v_anyValidUser); // Test body f_mtc_check_TP_GM_PCSCF_REGISTER_01(v_gmA, true); f_mtc_check_TP_GM_PCSCF_REGISTER_02(v_gmA, true); f_mtc_check_TP_GM_PCSCF_SUBSCRIBE_01(v_gmA, true); // Postamble } // End of testcase TC_VxLTE_INT_REG_01() /** Loading Loading
ttcn/AtsImsIot/AtsImsIot_TP_behavior_GM.ttcn +107 −48 Original line number Diff line number Diff line /* /** * @author STF 574 * @version $Id$ * @desc This module provides the TP behaviour functions at GM interface */ module AtsImsIot_TP_behavior_GM { module AtsImsIot_TP_behavior_GM { import from AtsImsIot_TestSystem { type ImsInterfaceMonitor, ImsTestCoordinator; } import from LibIot_PIXITS {modulepar PX_MAX_MSG_WAIT;} import from AtsImsIot_Templates {template all;} import from AtsImsIot_TypesAndValues { type SipMessage, SipMessageList, NAPTRmessage, EnumResponse, EnumQuery, SkipType; } import from LibIot_TestInterface { type EquipmentUser, IotEquipmentUser }; import from LibIms_UpperTester {type ImsUserInfo;} import from LibIot_TypesAndValues {type SetFilterReq, SetFilterRsp;} import from LibIot_Functions { function f_setConformanceVerdict, f_setIotVerdictFAIL; } import from AtsImsIot_TestSystem all; import from LibIot_PIXITS all; import from AtsImsIot_Templates all; import from AtsImsIot_TypesAndValues all; import from LibIot_TestInterface all; import from LibIms_UpperTester all; import from LibIot_TypesAndValues all; import from LibIot_Functions all; import from LibSip_SIPTypesAndValues all; import from LibSip_Templates all; import from LibSip_Common { type GenericParam, SemicolonParam_List } import from LibSip_Common all; import from AtsImsIot_Functions all; import from LibIot_PIXITS {modulepar PX_EUT_A, PX_EUT_B;} import from LibIot_PIXITS all; // LibSip import from LibSip_SDPTypes { type SDP_media_desc_list }; import from LibSip_SDPTypes all; // LibMsrp import from LibMsrp_TypesAndValues { type MsrpURI }; import from LibMsrp_Functions { function f_str2msrpUri }; import from LibMsrp_Templates { template m_msrpSend_Dummy, mw_msrpSEND_toPath_fromPath_contentType, m_msrpReport_Dummy, mw_msrpREPORT_success, m_msrpResponse_Dummy, mw_msrpResponse_toPath_fromPath, mw_toPath, mw_fromPath, mw_msrpResponse_toPath_fromPath_with_transferReports, m_msrpURIs_ToPath_Dummy, m_msrpURIs_FromPath_Dummy, mw_contentType }; import from LibMsrp_TypesAndValues all; import from LibMsrp_Functions all; import from LibMsrp_Templates all; import from DiameterS6a_Templates all; import from DiameterS6a_PIXITS all; import from DiameterGx_Templates all; Loading @@ -47,12 +34,84 @@ module AtsImsIot_TP_behavior_GM import from LibDiameter_Templates all; // import from DiameterRx_Templates all; group imsMessage { } // End of group imsMessage group g_PCSCF { // 5.2 IMS Registration group imsRegistration { } // end group g_PCSCF /** * @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 * } * * Expected behaviour * ensure that { * when { * the UE_A entity isTriggeredToStart * } * then { * the UE_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_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 term_ioi, * not SecurityClient * ;; * to the IMS_P_CSCF_A entity * and the UE_A entity receives 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, * Path, * Warning, * PAccessNetworkInfo, * WwwAuthenticate containing * Digest, * Realm indicating value PX_UE_A_REALM, * Algorithm indicating value PX_UE_A_AUTH_ALG, * Nonce indicating value "not empty", * qop indicating value "auth" * ;; * from the IMS_P_CSCF_A entity * } * } */ // FIXME To be removed: f_mtc_check_TP_IMS_5203_01_gm function f_mtc_check_TP_GM_PCSCF_REGISTER_01( in ImsInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( { mw_SipRequest(mw_REGISTER_Request_Base), mw_SipResponse(mw_401Unauthorized_Base), mw_SipRequest(mw_REGISTER_Request_Base) }, {}, {0, omit}, "TP_GM_PCSCF_REGISTER_01", false, p_checkMessage ) ); p_monitorCompRef.done; } // End of function f_mtc_check_TP_GM_PCSCF_REGISTER_01() } // End of group imsRegistration } // end module AtsImsIot_TP_behavior_GM No newline at end of file
ttcn/AtsImsIot/AtsImsIot_TestCases_REG.ttcn +257 −224 Original line number Diff line number Diff line Loading @@ -36,6 +36,39 @@ module AtsImsIot_TestCases_REG { import from LibSip_SIPTypesAndValues all; /** * @desc To perform initial IMS registration via the established default bearer. * Note that some UEs perform IMS registration automatically on attachment - in which case this test becomes merged with the previous one. */ testcase TC_VxLTE_INT_REG_01() runs on ImsTestCoordinator system IotSystemInterface { // Local variables var IotEquipmentUser v_ueA := f_cf_create_IotEquipmentUser(c_userUE_A); var ImsInterfaceMonitor v_gmA := f_cf_create_monitor(c_gm_A); var ImsUserInfo v_anyValidUser := f_getAnyValidUser(PX_EUT_A); // Test control // Test component configuration f_cf_adapter_up(); f_cf_user_up(v_ueA); // Test adapter configuration // Preamble f_mtc_userRegistration(v_ueA, v_anyValidUser); // Test body f_mtc_check_TP_GM_PCSCF_REGISTER_01(v_gmA, true); f_mtc_check_TP_GM_PCSCF_REGISTER_02(v_gmA, true); f_mtc_check_TP_GM_PCSCF_SUBSCRIBE_01(v_gmA, true); // Postamble } // End of testcase TC_VxLTE_INT_REG_01() /** Loading