Loading ttcn/AtsImsIot/AtsImsIot_Diameter_Templates.ttcn +37 −5 Original line number Diff line number Diff line Loading @@ -473,6 +473,7 @@ module AtsImsIot_Diameter_Templates { group CxRequestMessageTemplates{ template MAR_MSG mw_MAR modifies mw_MAR_dummy := { header := mw_diameterHeaderReq_dummy(MAR_E, c_applId3GPPCxDx), mAR_Body :={ vendor_Specific_Application_Id := ?, auth_Session_State := mw_authSessionState_noStateMaintained, Loading @@ -485,6 +486,7 @@ module AtsImsIot_Diameter_Templates { } template RTR_MSG mw_RTR modifies mw_RTR_dummy := { header := mw_diameterHeaderReq_dummy(RTR_E, c_applId3GPPCxDx), rTR_Body :={ vendor_Specific_Application_Id := ?, auth_Session_State := mw_authSessionState_noStateMaintained, Loading @@ -494,6 +496,7 @@ module AtsImsIot_Diameter_Templates { } template SAR_MSG mw_SAR_UnregisteredUser modifies mw_SAR_dummy := { header := mw_diameterHeaderReq_dummy(SAR_E, c_applId3GPPCxDx), sAR_Body :={ vendor_Specific_Application_Id := ?, auth_Session_State := mw_authSessionState_noStateMaintained, Loading @@ -506,6 +509,7 @@ module AtsImsIot_Diameter_Templates { } template SAR_MSG mw_SAR_UserDeregistration modifies mw_SAR_dummy := { header := mw_diameterHeaderReq_dummy(SAR_E, c_applId3GPPCxDx), sAR_Body :={ vendor_Specific_Application_Id := ?, auth_Session_State := mw_authSessionState_noStateMaintained, Loading @@ -518,42 +522,58 @@ module AtsImsIot_Diameter_Templates { } template UAR_MSG mw_UAR_Registration modifies mw_UAR_dummy := { header := mw_diameterHeaderReq_dummy(UAR_E, c_applId3GPPCxDx), uAR_Body :={ vendor_Specific_Application_Id := ?, auth_Session_State := mw_authSessionState_noStateMaintained, user_Name := omit, user_Name := ?, public_Identity := ?, visited_Network_Identifier := ?, user_Authorization_Type := mw_userAuthorizationType(REGISTRATION) user_Authorization_Type := mw_userAuthorizationType(REGISTRATION), sIP_AOR := *, sIP_Visited_Network_Id := *, sIP_User_Authorization_Type := * } } template UAR_MSG mw_UAR modifies mw_UAR_dummy := { header := mw_diameterHeaderReq_dummy(UAR_E, c_applId3GPPCxDx), uAR_Body :={ vendor_Specific_Application_Id := ?, auth_Session_State := mw_authSessionState_noStateMaintained, user_Name := ?, public_Identity := ? public_Identity := ?, sIP_AOR := *, sIP_Visited_Network_Id := *, sIP_User_Authorization_Type := * } } template UAR_MSG mw_UAR_unknownPrivateId modifies mw_UAR_dummy := { header := mw_diameterHeaderReq_dummy(UAR_E, c_applId3GPPCxDx), uAR_Body :={ vendor_Specific_Application_Id := ?, auth_Session_State := mw_authSessionState_noStateMaintained, user_Name := ?,//UNKNOWN PRIVATE USER IDENTITY public_Identity := ? public_Identity := ?, sIP_AOR := *, sIP_Visited_Network_Id := *, sIP_User_Authorization_Type := * } } template UAR_MSG mw_UAR_deRegistration modifies mw_UAR_dummy := { header := mw_diameterHeaderReq_dummy(UAR_E, c_applId3GPPCxDx), uAR_Body :={ vendor_Specific_Application_Id := ?, auth_Session_State := mw_authSessionState_noStateMaintained, user_Name := ?, public_Identity := ?, visited_Network_Identifier := ?, user_Authorization_Type := mw_userAuthorizationType(DE_REGISTRATION) user_Authorization_Type := mw_userAuthorizationType(DE_REGISTRATION), sIP_AOR := *, sIP_Visited_Network_Id := *, sIP_User_Authorization_Type := * } } Loading @@ -561,6 +581,7 @@ module AtsImsIot_Diameter_Templates { group CxAnswertMessageTemplates{ template MAA_MSG mw_MAA modifies mw_MAA_dummy := { header := mw_diameterHeaderAns_dummy(MAA_E, c_applId3GPPCxDx), mAA_Body :={ vendor_Specific_Application_Id := ?, auth_Session_State := mw_authSessionState_noStateMaintained, Loading @@ -573,6 +594,7 @@ module AtsImsIot_Diameter_Templates { } template RTA_MSG mw_RTA modifies mw_RTA_dummy := { header := mw_diameterHeaderAns_dummy(RTA_E, c_applId3GPPCxDx), rTA_Body :={ vendor_Specific_Application_Id := ?, auth_Session_State := mw_authSessionState_noStateMaintained, Loading @@ -581,6 +603,7 @@ module AtsImsIot_Diameter_Templates { } template SAA_MSG mw_SAA modifies mw_SAA_dummy := { header := mw_diameterHeaderAns_dummy(SAA_E, c_applId3GPPCxDx), sAA_Body :={ vendor_Specific_Application_Id := ?, auth_Session_State := mw_authSessionState_noStateMaintained, Loading @@ -589,6 +612,7 @@ module AtsImsIot_Diameter_Templates { } template SAA_MSG mw_SAA_userData modifies mw_SAA_dummy := { header := mw_diameterHeaderAns_dummy(SAA_E, c_applId3GPPCxDx), sAA_Body :={ vendor_Specific_Application_Id := ?, auth_Session_State := mw_authSessionState_noStateMaintained, Loading @@ -599,8 +623,10 @@ module AtsImsIot_Diameter_Templates { } template UAA_MSG mw_UAA_diamFirstRegistration modifies mw_UAA_dummy := { header := mw_diameterHeaderAns_dummy(UAA_E, c_applId3GPPCxDx), uAA_Body :={ vendor_Specific_Application_Id := ?, auth_Application_Id := *, auth_Session_State := mw_authSessionState_noStateMaintained, result_Code := omit, experimental_Result := mw_experimentalResult(DIAMETER_FIRST_REGISTRATION_E) Loading @@ -608,9 +634,11 @@ module AtsImsIot_Diameter_Templates { } template UAA_MSG mw_UAA_diamSubsequentRegistration modifies mw_UAA_dummy := { header := mw_diameterHeaderAns_dummy(UAA_E, c_applId3GPPCxDx), uAA_Body :={ vendor_Specific_Application_Id := ?, auth_Session_State := mw_authSessionState_noStateMaintained, auth_Application_Id := *, result_Code := omit, experimental_Result := mw_experimentalResult(DIAMETER_SUBSEQUENT_REGISTRATION_E), server_Name := ?, Loading @@ -619,8 +647,10 @@ module AtsImsIot_Diameter_Templates { } template UAA_MSG mw_UAA_diamErrorUserUnknown modifies mw_UAA_dummy := { header := mw_diameterHeaderAns_dummy(UAA_E, c_applId3GPPCxDx), uAA_Body :={ vendor_Specific_Application_Id := ?, auth_Application_Id := *, auth_Session_State := mw_authSessionState_noStateMaintained, result_Code := omit, experimental_Result := mw_experimentalResult(DIAMETER_ERROR_USER_UNKNOWN_E), Loading @@ -629,8 +659,10 @@ module AtsImsIot_Diameter_Templates { } template UAA_MSG mw_UAA_diamSuccess modifies mw_UAA_dummy := { header := mw_diameterHeaderAns_dummy(UAA_E, c_applId3GPPCxDx), uAA_Body :={ vendor_Specific_Application_Id := ?, auth_Application_Id := *, auth_Session_State := mw_authSessionState_noStateMaintained, result_Code := mw_resultCode(mw_resultCode_diameterSuccess), experimental_Result := omit, Loading ttcn/AtsImsIot/AtsImsIot_Functions.ttcn +11 −7 Original line number Diff line number Diff line Loading @@ -2885,9 +2885,9 @@ module AtsImsIot_Functions { } /** * @desc This altstep add one alternative checking for a very specifc SIP response. * @desc This altstep add one alternative checking for a very specifc DIAMETER message. If it matches then the conformance verdict is set to requested verdict * @param p_message The expected SIP response * @param p_message The expected DIAMETER message * @param p_verdict Verdict to be used in case of match * @param p_tpId The test purpose identifier * @param p_forwardMtc indicates if the received reponse should be forwarded to mtc Loading @@ -2906,7 +2906,7 @@ module AtsImsIot_Functions { var DIAMETER_MSG v_msg; v_msg := v_message; log("### Forwarding message to MTC"); //icpPort.send(v_msg); //TODO: check how to sync diameter with MTC icpPort.send(v_msg); } } [p_checkMessage] diameterPort.check(receive(p_message) -> value v_message) { Loading @@ -2915,7 +2915,7 @@ module AtsImsIot_Functions { var DIAMETER_MSG v_msg; v_msg := v_message; log("### Forwarding message to MTC"); //icpPort.send(v_msg);//TODO: check how to sync diameter with MTC icpPort.send(v_msg); } } } Loading Loading @@ -3188,7 +3188,7 @@ log ("### f_imsIot_receive: failCriteria=", p_failCriteria); } /** * @desc Activates for each entry in a expected IMS SIP message list a default * @desc Activates for each entry in a expected IMS DIAMETER message list a default * for receiving that message and setting the verdict as desired * @param p_default Reference to default array where deaults are to be added * @param p_startIdx Index into default array after which references for Loading @@ -3211,11 +3211,15 @@ log ("### f_imsIot_receive: failCriteria=", p_failCriteria); var integer v_idx := p_startIdx; for (var integer i := 0; i < v_size; i := i + 1) { if (isvalue(p_list[i])) { if (ispresent(p_list[i])) { log("Function f_activateDiameterDefaults ispresent:",p_list[i],i); p_default[v_idx] := activate( a_receive_diameter(p_list[i],p_verdict, p_tpId, p_forwardMtc, p_checkMessage) ); } else { log("Function f_activateDiameterDefaults else statement:",p_list[i]); } // else { // p_default[v_idx] := activate( // a_receive_diameter_Response(p_list[i].response,p_verdict, p_tpId, p_forwardMtc, p_checkMessage) Loading Loading @@ -3353,7 +3357,7 @@ log ("### f_imsIot_receive: failCriteria=", p_failCriteria); * skipped prior to checking * @param p_tpId The Test Purpose identifier * @param p_forwardMtc * indicate if the received Sip message should be forwarded to the * indicate if the received Diameter message should be forwarded to the * mtc * @param p_checkMessage * indicate if the incomming message should only be checked Loading ttcn/AtsImsIot/AtsImsIot_TD_REG.ttcn +15 −15 Original line number Diff line number Diff line Loading @@ -69,26 +69,26 @@ module AtsImsIot_TD_REG{ f_mtc_userRadioEnabled ( v_ueA, true, true ); // UA-A trigger an initial network_attachment by enabling radio interface of its mobile // Test body f_mtc_check_TP_GM_PCSCF_REGISTER_01(vc_vxlte_monitor_components.gmA); // Events 1, 10 f_mtc_check_TP_MW_PCSCF_REGISTER_01(vc_vxlte_monitor_components.mwPS, true); // Event 2, 9 f_mtc_check_TP_MW_ICSCF_REGISTER_01(vc_vxlte_monitor_components.mwIS, true); // Event 5, 8 f_mtc_check_TP_GM_PCSCF_REGISTER_01(vc_vxlte_monitor_components.gmA, false); // Events 1, 10 f_mtc_check_TP_MW_PCSCF_REGISTER_01(vc_vxlte_monitor_components.mwPS, false); // Event 2, 9 f_mtc_check_TP_MW_ICSCF_REGISTER_01(vc_vxlte_monitor_components.mwIS, false); // Event 5, 8 f_mtc_check_TP_CX_HSS_UAA_01(vc_vxlte_monitor_components.cxIH);// Event 3, 4 f_mtc_check_TP_CX_HSS_MAA_01(vc_vxlte_monitor_components.cxSH);// Event 6, 7 f_mtc_check_TP_CX_HSS_UAA_01(vc_vxlte_monitor_components.cxIH, false);// Event 3, 4 f_mtc_check_TP_CX_HSS_MAA_01(vc_vxlte_monitor_components.cxSH, false);// Event 6, 7 f_mtc_check_TP_GM_PCSCF_REGISTER_02(vc_vxlte_monitor_components.gmA); // Events 11, 20 f_mtc_check_TP_MW_PCSCF_REGISTER_02(vc_vxlte_monitor_components.mwPS); // Events 12, 19 f_mtc_check_TP_MW_ICSCF_REGISTER_02(vc_vxlte_monitor_components.mwIS, true); // Event 15, 18 f_mtc_check_TP_GM_PCSCF_REGISTER_02(vc_vxlte_monitor_components.gmA, false); // Events 11, 20 f_mtc_check_TP_MW_PCSCF_REGISTER_02(vc_vxlte_monitor_components.mwPS, false); // Events 12, 19 f_mtc_check_TP_MW_ICSCF_REGISTER_02(vc_vxlte_monitor_components.mwIS, false); // Event 15, 18 f_mtc_check_TP_CX_HSS_UAA_02(vc_vxlte_monitor_components.cxIH);// Event 13, 14 f_mtc_check_TP_CX_HSS_SAA_01(vc_vxlte_monitor_components.cxSH);// Event 16, 17 f_mtc_check_TP_CX_HSS_UAA_02(vc_vxlte_monitor_components.cxIH, false);// Event 13, 14 f_mtc_check_TP_CX_HSS_SAA_01(vc_vxlte_monitor_components.cxSH, false);// Event 16, 17 f_mtc_check_TP_GM_PCSCF_SUBSCRIBE_01(vc_vxlte_monitor_components.gmA); // Events 21, 24 f_mtc_check_TP_MW_PCSCF_SUBSCRIBE_01(vc_vxlte_monitor_components.mwPS, true); // Events 22, 23 f_mtc_check_TP_GM_PCSCF_SUBSCRIBE_01(vc_vxlte_monitor_components.gmA, false); // Events 21, 24 f_mtc_check_TP_MW_PCSCF_SUBSCRIBE_01(vc_vxlte_monitor_components.mwPS, false); // Events 22, 23 f_mtc_check_TP_RX_PCSCF_AAR_01(vc_vxlte_monitor_components.rx);// Event 25 f_mtc_check_TP_RX_PCRF_AAA_01(vc_vxlte_monitor_components.rx); // Event 26 f_mtc_check_TP_GX_PGW_RAA_01(vc_vxlte_monitor_components.gx); // Event 27, 28 f_mtc_check_TP_RX_PCSCF_AAR_01(vc_vxlte_monitor_components.rx, false);// Event 25 f_mtc_check_TP_RX_PCRF_AAA_01(vc_vxlte_monitor_components.rx, false); // Event 26 f_mtc_check_TP_GX_PGW_RAA_01(vc_vxlte_monitor_components.gx, false); // Event 27, 28 // postamble f_PO_user_home_deregistration ( v_ueA ); Loading ttcn/AtsImsIot/AtsImsIot_TP_behavior_CX.ttcn +33 −4 Original line number Diff line number Diff line Loading @@ -378,24 +378,53 @@ group g_HSS { */ function f_mtc_check_TP_CX_HSS_UAA_01( DiameterInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := true, in boolean p_forward_to_mtc := false in boolean p_checkMessage := false, in boolean p_forward_to_mtc := true ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)){ // p_monitorCompRef.start ( // f_Iot_Diameter_receive( // { // DIAMETER_MSG:{uAR_MSG := mw_UAR_Registration}, // DIAMETER_MSG:{uAA_MSG := mw_UAA_diamFirstRegistration} // }, // {}, // {0, omit}, // "TP_CX_HSS_UAA_01", // p_forward_to_mtc, // p_checkMessage // ) // ); // p_monitorCompRef.done; p_monitorCompRef.start ( f_Iot_Diameter_receive( { DIAMETER_MSG:{uAR_MSG := mw_UAR_Registration} }, {}, {0, omit}, "TP_CX_HSS_UAA_01 - UAR", p_forward_to_mtc, p_checkMessage ) ); p_monitorCompRef.done; p_monitorCompRef.start ( f_Iot_Diameter_receive( { DIAMETER_MSG:{uAR_MSG := mw_UAR_Registration}, DIAMETER_MSG:{uAA_MSG := mw_UAA_diamFirstRegistration} }, {}, {0, omit}, "TP_CX_HSS_UAA_01", "TP_CX_HSS_UAA_01 - UAA", p_forward_to_mtc, p_checkMessage ) ); p_monitorCompRef.done; } } // End of function f_mtc_check_TP_CX_HSS_UAA_01 Loading ttcn/AtsImsIot/AtsImsIot_TP_behavior_MW_IS.ttcn +35 −4 Original line number Diff line number Diff line Loading @@ -119,8 +119,38 @@ module AtsImsIot_TP_behavior_MW_IS { */ function f_mtc_check_TP_MW_ICSCF_REGISTER_01( in SipInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := true in boolean p_checkMessage := false ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)){ // p_monitorCompRef.start( // f_Iot_Sip_receive( // { // mw_SipRequest(mw_REGISTER_Request_Base),//Updated line 23.3.2021 - TODO // mw_SipResponse(mw_401Unauthorized_Base) // }, // {}, // {0, omit}, // "TP_MW_ICSCF_REGISTER_01", // false, // p_checkMessage // ) // ); // p_monitorCompRef.done; p_monitorCompRef.start( f_Iot_Sip_receive( { mw_SipRequest(mw_REGISTER_Request_Base) }, {}, {0, omit}, "TP_MW_ICSCF_REGISTER_01 - REQ", true, p_checkMessage ) ); p_monitorCompRef.done; p_monitorCompRef.start( f_Iot_Sip_receive( { Loading @@ -128,12 +158,13 @@ module AtsImsIot_TP_behavior_MW_IS { }, {}, {0, omit}, "TP_MW_ICSCF_REGISTER_01", false, "TP_MW_ICSCF_REGISTER_01 - RESP", true, p_checkMessage ) ); p_monitorCompRef.done; } } // End of function f_mtc_check_TP_MW_ICSCF_REGISTER_01 /** Loading Loading
ttcn/AtsImsIot/AtsImsIot_Diameter_Templates.ttcn +37 −5 Original line number Diff line number Diff line Loading @@ -473,6 +473,7 @@ module AtsImsIot_Diameter_Templates { group CxRequestMessageTemplates{ template MAR_MSG mw_MAR modifies mw_MAR_dummy := { header := mw_diameterHeaderReq_dummy(MAR_E, c_applId3GPPCxDx), mAR_Body :={ vendor_Specific_Application_Id := ?, auth_Session_State := mw_authSessionState_noStateMaintained, Loading @@ -485,6 +486,7 @@ module AtsImsIot_Diameter_Templates { } template RTR_MSG mw_RTR modifies mw_RTR_dummy := { header := mw_diameterHeaderReq_dummy(RTR_E, c_applId3GPPCxDx), rTR_Body :={ vendor_Specific_Application_Id := ?, auth_Session_State := mw_authSessionState_noStateMaintained, Loading @@ -494,6 +496,7 @@ module AtsImsIot_Diameter_Templates { } template SAR_MSG mw_SAR_UnregisteredUser modifies mw_SAR_dummy := { header := mw_diameterHeaderReq_dummy(SAR_E, c_applId3GPPCxDx), sAR_Body :={ vendor_Specific_Application_Id := ?, auth_Session_State := mw_authSessionState_noStateMaintained, Loading @@ -506,6 +509,7 @@ module AtsImsIot_Diameter_Templates { } template SAR_MSG mw_SAR_UserDeregistration modifies mw_SAR_dummy := { header := mw_diameterHeaderReq_dummy(SAR_E, c_applId3GPPCxDx), sAR_Body :={ vendor_Specific_Application_Id := ?, auth_Session_State := mw_authSessionState_noStateMaintained, Loading @@ -518,42 +522,58 @@ module AtsImsIot_Diameter_Templates { } template UAR_MSG mw_UAR_Registration modifies mw_UAR_dummy := { header := mw_diameterHeaderReq_dummy(UAR_E, c_applId3GPPCxDx), uAR_Body :={ vendor_Specific_Application_Id := ?, auth_Session_State := mw_authSessionState_noStateMaintained, user_Name := omit, user_Name := ?, public_Identity := ?, visited_Network_Identifier := ?, user_Authorization_Type := mw_userAuthorizationType(REGISTRATION) user_Authorization_Type := mw_userAuthorizationType(REGISTRATION), sIP_AOR := *, sIP_Visited_Network_Id := *, sIP_User_Authorization_Type := * } } template UAR_MSG mw_UAR modifies mw_UAR_dummy := { header := mw_diameterHeaderReq_dummy(UAR_E, c_applId3GPPCxDx), uAR_Body :={ vendor_Specific_Application_Id := ?, auth_Session_State := mw_authSessionState_noStateMaintained, user_Name := ?, public_Identity := ? public_Identity := ?, sIP_AOR := *, sIP_Visited_Network_Id := *, sIP_User_Authorization_Type := * } } template UAR_MSG mw_UAR_unknownPrivateId modifies mw_UAR_dummy := { header := mw_diameterHeaderReq_dummy(UAR_E, c_applId3GPPCxDx), uAR_Body :={ vendor_Specific_Application_Id := ?, auth_Session_State := mw_authSessionState_noStateMaintained, user_Name := ?,//UNKNOWN PRIVATE USER IDENTITY public_Identity := ? public_Identity := ?, sIP_AOR := *, sIP_Visited_Network_Id := *, sIP_User_Authorization_Type := * } } template UAR_MSG mw_UAR_deRegistration modifies mw_UAR_dummy := { header := mw_diameterHeaderReq_dummy(UAR_E, c_applId3GPPCxDx), uAR_Body :={ vendor_Specific_Application_Id := ?, auth_Session_State := mw_authSessionState_noStateMaintained, user_Name := ?, public_Identity := ?, visited_Network_Identifier := ?, user_Authorization_Type := mw_userAuthorizationType(DE_REGISTRATION) user_Authorization_Type := mw_userAuthorizationType(DE_REGISTRATION), sIP_AOR := *, sIP_Visited_Network_Id := *, sIP_User_Authorization_Type := * } } Loading @@ -561,6 +581,7 @@ module AtsImsIot_Diameter_Templates { group CxAnswertMessageTemplates{ template MAA_MSG mw_MAA modifies mw_MAA_dummy := { header := mw_diameterHeaderAns_dummy(MAA_E, c_applId3GPPCxDx), mAA_Body :={ vendor_Specific_Application_Id := ?, auth_Session_State := mw_authSessionState_noStateMaintained, Loading @@ -573,6 +594,7 @@ module AtsImsIot_Diameter_Templates { } template RTA_MSG mw_RTA modifies mw_RTA_dummy := { header := mw_diameterHeaderAns_dummy(RTA_E, c_applId3GPPCxDx), rTA_Body :={ vendor_Specific_Application_Id := ?, auth_Session_State := mw_authSessionState_noStateMaintained, Loading @@ -581,6 +603,7 @@ module AtsImsIot_Diameter_Templates { } template SAA_MSG mw_SAA modifies mw_SAA_dummy := { header := mw_diameterHeaderAns_dummy(SAA_E, c_applId3GPPCxDx), sAA_Body :={ vendor_Specific_Application_Id := ?, auth_Session_State := mw_authSessionState_noStateMaintained, Loading @@ -589,6 +612,7 @@ module AtsImsIot_Diameter_Templates { } template SAA_MSG mw_SAA_userData modifies mw_SAA_dummy := { header := mw_diameterHeaderAns_dummy(SAA_E, c_applId3GPPCxDx), sAA_Body :={ vendor_Specific_Application_Id := ?, auth_Session_State := mw_authSessionState_noStateMaintained, Loading @@ -599,8 +623,10 @@ module AtsImsIot_Diameter_Templates { } template UAA_MSG mw_UAA_diamFirstRegistration modifies mw_UAA_dummy := { header := mw_diameterHeaderAns_dummy(UAA_E, c_applId3GPPCxDx), uAA_Body :={ vendor_Specific_Application_Id := ?, auth_Application_Id := *, auth_Session_State := mw_authSessionState_noStateMaintained, result_Code := omit, experimental_Result := mw_experimentalResult(DIAMETER_FIRST_REGISTRATION_E) Loading @@ -608,9 +634,11 @@ module AtsImsIot_Diameter_Templates { } template UAA_MSG mw_UAA_diamSubsequentRegistration modifies mw_UAA_dummy := { header := mw_diameterHeaderAns_dummy(UAA_E, c_applId3GPPCxDx), uAA_Body :={ vendor_Specific_Application_Id := ?, auth_Session_State := mw_authSessionState_noStateMaintained, auth_Application_Id := *, result_Code := omit, experimental_Result := mw_experimentalResult(DIAMETER_SUBSEQUENT_REGISTRATION_E), server_Name := ?, Loading @@ -619,8 +647,10 @@ module AtsImsIot_Diameter_Templates { } template UAA_MSG mw_UAA_diamErrorUserUnknown modifies mw_UAA_dummy := { header := mw_diameterHeaderAns_dummy(UAA_E, c_applId3GPPCxDx), uAA_Body :={ vendor_Specific_Application_Id := ?, auth_Application_Id := *, auth_Session_State := mw_authSessionState_noStateMaintained, result_Code := omit, experimental_Result := mw_experimentalResult(DIAMETER_ERROR_USER_UNKNOWN_E), Loading @@ -629,8 +659,10 @@ module AtsImsIot_Diameter_Templates { } template UAA_MSG mw_UAA_diamSuccess modifies mw_UAA_dummy := { header := mw_diameterHeaderAns_dummy(UAA_E, c_applId3GPPCxDx), uAA_Body :={ vendor_Specific_Application_Id := ?, auth_Application_Id := *, auth_Session_State := mw_authSessionState_noStateMaintained, result_Code := mw_resultCode(mw_resultCode_diameterSuccess), experimental_Result := omit, Loading
ttcn/AtsImsIot/AtsImsIot_Functions.ttcn +11 −7 Original line number Diff line number Diff line Loading @@ -2885,9 +2885,9 @@ module AtsImsIot_Functions { } /** * @desc This altstep add one alternative checking for a very specifc SIP response. * @desc This altstep add one alternative checking for a very specifc DIAMETER message. If it matches then the conformance verdict is set to requested verdict * @param p_message The expected SIP response * @param p_message The expected DIAMETER message * @param p_verdict Verdict to be used in case of match * @param p_tpId The test purpose identifier * @param p_forwardMtc indicates if the received reponse should be forwarded to mtc Loading @@ -2906,7 +2906,7 @@ module AtsImsIot_Functions { var DIAMETER_MSG v_msg; v_msg := v_message; log("### Forwarding message to MTC"); //icpPort.send(v_msg); //TODO: check how to sync diameter with MTC icpPort.send(v_msg); } } [p_checkMessage] diameterPort.check(receive(p_message) -> value v_message) { Loading @@ -2915,7 +2915,7 @@ module AtsImsIot_Functions { var DIAMETER_MSG v_msg; v_msg := v_message; log("### Forwarding message to MTC"); //icpPort.send(v_msg);//TODO: check how to sync diameter with MTC icpPort.send(v_msg); } } } Loading Loading @@ -3188,7 +3188,7 @@ log ("### f_imsIot_receive: failCriteria=", p_failCriteria); } /** * @desc Activates for each entry in a expected IMS SIP message list a default * @desc Activates for each entry in a expected IMS DIAMETER message list a default * for receiving that message and setting the verdict as desired * @param p_default Reference to default array where deaults are to be added * @param p_startIdx Index into default array after which references for Loading @@ -3211,11 +3211,15 @@ log ("### f_imsIot_receive: failCriteria=", p_failCriteria); var integer v_idx := p_startIdx; for (var integer i := 0; i < v_size; i := i + 1) { if (isvalue(p_list[i])) { if (ispresent(p_list[i])) { log("Function f_activateDiameterDefaults ispresent:",p_list[i],i); p_default[v_idx] := activate( a_receive_diameter(p_list[i],p_verdict, p_tpId, p_forwardMtc, p_checkMessage) ); } else { log("Function f_activateDiameterDefaults else statement:",p_list[i]); } // else { // p_default[v_idx] := activate( // a_receive_diameter_Response(p_list[i].response,p_verdict, p_tpId, p_forwardMtc, p_checkMessage) Loading Loading @@ -3353,7 +3357,7 @@ log ("### f_imsIot_receive: failCriteria=", p_failCriteria); * skipped prior to checking * @param p_tpId The Test Purpose identifier * @param p_forwardMtc * indicate if the received Sip message should be forwarded to the * indicate if the received Diameter message should be forwarded to the * mtc * @param p_checkMessage * indicate if the incomming message should only be checked Loading
ttcn/AtsImsIot/AtsImsIot_TD_REG.ttcn +15 −15 Original line number Diff line number Diff line Loading @@ -69,26 +69,26 @@ module AtsImsIot_TD_REG{ f_mtc_userRadioEnabled ( v_ueA, true, true ); // UA-A trigger an initial network_attachment by enabling radio interface of its mobile // Test body f_mtc_check_TP_GM_PCSCF_REGISTER_01(vc_vxlte_monitor_components.gmA); // Events 1, 10 f_mtc_check_TP_MW_PCSCF_REGISTER_01(vc_vxlte_monitor_components.mwPS, true); // Event 2, 9 f_mtc_check_TP_MW_ICSCF_REGISTER_01(vc_vxlte_monitor_components.mwIS, true); // Event 5, 8 f_mtc_check_TP_GM_PCSCF_REGISTER_01(vc_vxlte_monitor_components.gmA, false); // Events 1, 10 f_mtc_check_TP_MW_PCSCF_REGISTER_01(vc_vxlte_monitor_components.mwPS, false); // Event 2, 9 f_mtc_check_TP_MW_ICSCF_REGISTER_01(vc_vxlte_monitor_components.mwIS, false); // Event 5, 8 f_mtc_check_TP_CX_HSS_UAA_01(vc_vxlte_monitor_components.cxIH);// Event 3, 4 f_mtc_check_TP_CX_HSS_MAA_01(vc_vxlte_monitor_components.cxSH);// Event 6, 7 f_mtc_check_TP_CX_HSS_UAA_01(vc_vxlte_monitor_components.cxIH, false);// Event 3, 4 f_mtc_check_TP_CX_HSS_MAA_01(vc_vxlte_monitor_components.cxSH, false);// Event 6, 7 f_mtc_check_TP_GM_PCSCF_REGISTER_02(vc_vxlte_monitor_components.gmA); // Events 11, 20 f_mtc_check_TP_MW_PCSCF_REGISTER_02(vc_vxlte_monitor_components.mwPS); // Events 12, 19 f_mtc_check_TP_MW_ICSCF_REGISTER_02(vc_vxlte_monitor_components.mwIS, true); // Event 15, 18 f_mtc_check_TP_GM_PCSCF_REGISTER_02(vc_vxlte_monitor_components.gmA, false); // Events 11, 20 f_mtc_check_TP_MW_PCSCF_REGISTER_02(vc_vxlte_monitor_components.mwPS, false); // Events 12, 19 f_mtc_check_TP_MW_ICSCF_REGISTER_02(vc_vxlte_monitor_components.mwIS, false); // Event 15, 18 f_mtc_check_TP_CX_HSS_UAA_02(vc_vxlte_monitor_components.cxIH);// Event 13, 14 f_mtc_check_TP_CX_HSS_SAA_01(vc_vxlte_monitor_components.cxSH);// Event 16, 17 f_mtc_check_TP_CX_HSS_UAA_02(vc_vxlte_monitor_components.cxIH, false);// Event 13, 14 f_mtc_check_TP_CX_HSS_SAA_01(vc_vxlte_monitor_components.cxSH, false);// Event 16, 17 f_mtc_check_TP_GM_PCSCF_SUBSCRIBE_01(vc_vxlte_monitor_components.gmA); // Events 21, 24 f_mtc_check_TP_MW_PCSCF_SUBSCRIBE_01(vc_vxlte_monitor_components.mwPS, true); // Events 22, 23 f_mtc_check_TP_GM_PCSCF_SUBSCRIBE_01(vc_vxlte_monitor_components.gmA, false); // Events 21, 24 f_mtc_check_TP_MW_PCSCF_SUBSCRIBE_01(vc_vxlte_monitor_components.mwPS, false); // Events 22, 23 f_mtc_check_TP_RX_PCSCF_AAR_01(vc_vxlte_monitor_components.rx);// Event 25 f_mtc_check_TP_RX_PCRF_AAA_01(vc_vxlte_monitor_components.rx); // Event 26 f_mtc_check_TP_GX_PGW_RAA_01(vc_vxlte_monitor_components.gx); // Event 27, 28 f_mtc_check_TP_RX_PCSCF_AAR_01(vc_vxlte_monitor_components.rx, false);// Event 25 f_mtc_check_TP_RX_PCRF_AAA_01(vc_vxlte_monitor_components.rx, false); // Event 26 f_mtc_check_TP_GX_PGW_RAA_01(vc_vxlte_monitor_components.gx, false); // Event 27, 28 // postamble f_PO_user_home_deregistration ( v_ueA ); Loading
ttcn/AtsImsIot/AtsImsIot_TP_behavior_CX.ttcn +33 −4 Original line number Diff line number Diff line Loading @@ -378,24 +378,53 @@ group g_HSS { */ function f_mtc_check_TP_CX_HSS_UAA_01( DiameterInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := true, in boolean p_forward_to_mtc := false in boolean p_checkMessage := false, in boolean p_forward_to_mtc := true ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)){ // p_monitorCompRef.start ( // f_Iot_Diameter_receive( // { // DIAMETER_MSG:{uAR_MSG := mw_UAR_Registration}, // DIAMETER_MSG:{uAA_MSG := mw_UAA_diamFirstRegistration} // }, // {}, // {0, omit}, // "TP_CX_HSS_UAA_01", // p_forward_to_mtc, // p_checkMessage // ) // ); // p_monitorCompRef.done; p_monitorCompRef.start ( f_Iot_Diameter_receive( { DIAMETER_MSG:{uAR_MSG := mw_UAR_Registration} }, {}, {0, omit}, "TP_CX_HSS_UAA_01 - UAR", p_forward_to_mtc, p_checkMessage ) ); p_monitorCompRef.done; p_monitorCompRef.start ( f_Iot_Diameter_receive( { DIAMETER_MSG:{uAR_MSG := mw_UAR_Registration}, DIAMETER_MSG:{uAA_MSG := mw_UAA_diamFirstRegistration} }, {}, {0, omit}, "TP_CX_HSS_UAA_01", "TP_CX_HSS_UAA_01 - UAA", p_forward_to_mtc, p_checkMessage ) ); p_monitorCompRef.done; } } // End of function f_mtc_check_TP_CX_HSS_UAA_01 Loading
ttcn/AtsImsIot/AtsImsIot_TP_behavior_MW_IS.ttcn +35 −4 Original line number Diff line number Diff line Loading @@ -119,8 +119,38 @@ module AtsImsIot_TP_behavior_MW_IS { */ function f_mtc_check_TP_MW_ICSCF_REGISTER_01( in SipInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := true in boolean p_checkMessage := false ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)){ // p_monitorCompRef.start( // f_Iot_Sip_receive( // { // mw_SipRequest(mw_REGISTER_Request_Base),//Updated line 23.3.2021 - TODO // mw_SipResponse(mw_401Unauthorized_Base) // }, // {}, // {0, omit}, // "TP_MW_ICSCF_REGISTER_01", // false, // p_checkMessage // ) // ); // p_monitorCompRef.done; p_monitorCompRef.start( f_Iot_Sip_receive( { mw_SipRequest(mw_REGISTER_Request_Base) }, {}, {0, omit}, "TP_MW_ICSCF_REGISTER_01 - REQ", true, p_checkMessage ) ); p_monitorCompRef.done; p_monitorCompRef.start( f_Iot_Sip_receive( { Loading @@ -128,12 +158,13 @@ module AtsImsIot_TP_behavior_MW_IS { }, {}, {0, omit}, "TP_MW_ICSCF_REGISTER_01", false, "TP_MW_ICSCF_REGISTER_01 - RESP", true, p_checkMessage ) ); p_monitorCompRef.done; } } // End of function f_mtc_check_TP_MW_ICSCF_REGISTER_01 /** Loading