Commit 7c9fc22b authored by Bostjan Pintar's avatar Bostjan Pintar
Browse files

Cx and S6a TPs added

parent 2542afd4
Loading
Loading
Loading
Loading
+1 −23
Original line number Diff line number Diff line
@@ -4,26 +4,4 @@
.metadata

/bin/
/bin/
/bin/
/bin/
/bin/
/bin/
/bin/
/bin/
/bin/
/bin/
/bin/
/bin/
/bin/
/bin/
/bin/
/bin/
/bin/
/bin/
/bin/
/bin/
/bin/
/bin/
/bin/
/bin/
/ttcn3build/
+748 −23

File changed.

Preview size limit exceeded, changes collapsed.

+524 −38
Original line number Diff line number Diff line
@@ -7,51 +7,537 @@
module AtsImsIot_TP_behavior_CX
{

	import from AtsImsIot_TestSystem { type ImsInterfaceMonitor, ImsTestCoordinator; }
    import from AtsImsIot_TestSystem { type DiameterInterfaceMonitor, 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 LibSip_SIPTypesAndValues all;
	import from LibSip_Templates all;
    
	import from LibSip_Common {
		type 
			GenericParam,
			SemicolonParam_List
	}   

    import from AtsImsIot_Functions all;
    import from LibIot_PIXITS {modulepar PX_EUT_A, PX_EUT_B;}
	// LibSip
	import from LibSip_SDPTypes { type SDP_media_desc_list };
	// 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 DiameterS6a_Templates all;
	import from DiameterS6a_PIXITS all;
	import from DiameterGx_Templates all;
    import from AtsImsIot_Diameter_Templates all;
    
    // LibDiameter
    import from LibDiameter_Templates all;
//	import from DiameterRx_Templates all;
    


group g_HSS {
    

    /**
     * Starts monitor component behavior for TP_CX_HSS_MAA_01
     * @param p_monitorCompRef Reference to monitor component
     * <pre>
     * Test objective  "IUT successfully processes all mandatory AVPs in a MA-Request received due to S-CSCF registration notification procedure and sends SA-Answer."
     *
     * <pre>
     * 
     * Config Id CF_VxLTE_INT
     * 
     * Initial conditions with {
     *     the UE_A entity isNotRegisteredTo the IMS_A
     * }
     * 
     * ensure that {
     *     when {
     *         the IMS_S_CSCF_A entity sends a MAR containing
     *             Session_ID_AVP
     *             Vendor_Specific_Application_Id_AVP
     *             Auth_Session_State_AVP
     *                 indicating value NO_STATE_MAINTAINED
     *             Origin_Host_AVP
     *             Origin_Realm_AVP 
     *             Destination_Realm_AVP
     *             Public_Identity_AVP
     *             User_Name_AVP
     *             Server_Name_AVP
     *             SIP_Number_Auth_Items_AVP
     *             SIP_Auth_Data_Item_AVP containing
     *                 SIP_Authentication_Scheme_AVP
     *             ;
     *         ;
     *         to the IMS_HSS_A entity
     *     }
     *     then {
     *         the IMS_HSS_A entity sends the MAA containing
     *             Session_ID_AVP
     *             Vendor_Specific_Application_Id_AVP
     *             Auth_Session_State_AVP
     *             Origin_Host_AVP
     *             Origin_Realm_AVP
     *             not Experimental_Result_AVP
     *             Result_Code_AVP
     *                  indicating value DIAMETER_SUCCESS
     *             User_Name_AVP
     *             SIP_Number_Auth_Items_AVP
     *             SIP_Auth_Data_Item_AVP containing
     *                 SIP_Authentication_Scheme_AVP
     *             ;
     *         ;
     *         to the IMS_S_CSCF_A entity
     *     }
     * }
     * </pre>
     * @see TS 103 653-1 clause 7.4
     */
    function f_mtc_check_TP_CX_HSS_MAA_01(
        DiameterInterfaceMonitor p_monitorCompRef
    ) runs on ImsTestCoordinator {
        p_monitorCompRef.start (
            f_receiveDiameterMsg ( { mAR_MSG := mw_MAR }, 
                                   "TP_CX_HSS_MAA_01  - MA Request",
                                   true )
        );
        p_monitorCompRef.done;
        p_monitorCompRef.start (
            f_receiveDiameterMsg ( { mAA_MSG := mw_MAA }, 
                                   "TP_CX_HSS_MAA_01  - MA Answer",
                                   true )
        );
        p_monitorCompRef.done;
    } // End of function f_mtc_check_TP_CX_HSS_MAA_01
    

    /**
     * Starts monitor component behavior for TP_CX_HSS_RTA_01
     * @param p_monitorCompRef Reference to monitor component
     * <pre>
     * Test objective  "IUT successfully processes all mandatory AVPs in a RT-Request received due to S-CSCF network de-registration notification procedure and sends RT-Answer."
     *
     * <pre>
     * 
     * Config Id CF_VxLTE_INT
     * 
     * Initial conditions with {
     *     the UE_A entity isRegisteredTo the IMS_A
     * }
     * 
     * ensure that {
     *     when {
     *         the IMS_S_CSCF_A entity sends a RTR containing
     *             Session_ID_AVP
     *             Vendor_Specific_Application_Id_AVP
     *             Auth_Session_State_AVP
     *                 indicating value NO_STATE_MAINTAINED
     *             Origin_Host_AVP
     *             Origin_Realm_AVP
     *             Destination_Host_AVP
     *             Destination_Realm_AVP
     *             User_Name_AVP
     *             Deregistration_Reason_AVP containing
     *                 Reason_Code_AVP
     *         ;;
     *         to the IMS_HSS_A entity
     *     }
     *     then {
     *         the IMS_HSS_A entity sends the RTA containing
     *             Session_ID_AVP
     *             Vendor_Specific_Application_Id_AVP
     *             Auth_Session_State_AVP
     *             Origin_Host_AVP
     *             Origin_Realm_AVP
     *             Result_Code_AVP
     *                 indicating value DIAMETER_SUCCESS
     *         ;
     *         to the IMS_S_CSCF_A entity
     *     }
     * }
     * </pre>
     * @see TS 103 653-1 clause 7.4
     */
    function f_mtc_check_TP_CX_HSS_RTA_01(
        DiameterInterfaceMonitor p_monitorCompRef
    ) runs on ImsTestCoordinator {
        p_monitorCompRef.start (
            f_receiveDiameterMsg ( { rTR_MSG := mw_RTR }, 
                                   "TP_CX_HSS_RTA_01  - RT Request",
                                   true )
        );
        p_monitorCompRef.done;
        p_monitorCompRef.start (
            f_receiveDiameterMsg ( { rTA_MSG := mw_RTA }, 
                                   "TP_CX_HSS_RTA_01  - RT Answer",
                                   true )
        );
        p_monitorCompRef.done;
    } // End of function f_mtc_check_TP_CX_HSS_RTA_01
    

    /**
     * Starts monitor component behavior for TP_CX_HSS_SAA_01
     * @param p_monitorCompRef Reference to monitor component
     * <pre>
     * Test objective  "IUT successfully processes all mandatory AVPs in a SA-Request received due to S-CSCF registration notification procedure and sends SA-Answer."
     *
     * <pre>
     * 
     * Config Id CF_VxLTE_INT
     * 
     * Initial conditions with {
     *     the UE_A entity isNotRegisteredTo the IMS_A
     * }
     * 
     * ensure that {
     *     when {
     *         the IMS_S_CSCF_A entity sends a SAR containing
     *             Session_ID_AVP
     *             Vendor_Specific_Application_Id_AVP
     *             Auth_Session_State_AVP
     *                 indicating value NO_STATE_MAINTAINED,
     *             Origin_Host_AVP
     *             Origin_Realm_AVP 
     *             Public_Identity_AVP
     *             not User_Name_AVP
     *             Destination_Realm_AVP
     *             Server_Name_AVP
     *             Server_Assignment_Type_AVP
     *                 indicating value UNREGISTERED_USER
     *             User_Data_Already_Available_AVP 
     *         ;
     *         to the IMS_HSS_A entity
     *     }
     *     then {
     *         the IMS_HSS_A entity sends the SAA containing
     *             Session_ID_AVP
     *             Vendor_Specific_Application_Id_AVP
     *             Auth_Session_State_AVP
     *             Origin_Host_AVP
     *             Origin_Realm_AVP
     *             Result_Code_AVP
     *                 indicating value DIAMETER_SUCCESS
     *             User_Data AVP
     *             Charging_Information_AVP
     *         ;
     *         to the IMS_S_CSCF_A entity
     *     }
     * }
     * </pre>
     * @see TS 103 653-1 clause 7.4
     */
    function f_mtc_check_TP_CX_HSS_SAA_01(
        DiameterInterfaceMonitor p_monitorCompRef
    ) runs on ImsTestCoordinator {
        p_monitorCompRef.start (
            f_receiveDiameterMsg ( { sAR_MSG := mw_SAR_UnregisteredUser }, 
                                   "TP_CX_HSS_SAA_01  - SA Request",
                                   true )
        );
        p_monitorCompRef.done;
        p_monitorCompRef.start (
            f_receiveDiameterMsg ( { sAA_MSG := mw_SAA_userData }, 
                                   "TP_CX_HSS_SAA_01  - SA Answer",
                                   true )
        );
        p_monitorCompRef.done;
    } // End of function f_mtc_check_TP_CX_HSS_SAA_01
    

    /**
     * Starts monitor component behavior for TP_CX_HSS_SAA_02
     * @param p_monitorCompRef Reference to monitor component
     * <pre>
     * Test objective  "IUT successfully processes all mandatory AVPs in an SA-Request received due to S-CSCF de-registration procedure and sends SA-Answer."
     *
     * <pre>
     * 
     * Config Id CF_VxLTE_INT
     * 
     * Initial conditions with {
     *     the UE_A entity isRegisteredTo the IMS_A
     * }
     * 
     * ensure that {
     *     when {
     *         the IMS_S_CSCF_A entity sends a SAR containing
     *             Session_ID_AVP
     *             Vendor_Specific_Application_Id_AVP
     *             Auth_Session_State_AVP
     *                 indicating value NO_STATE_MAINTAINED,
     *             Origin_Host_AVP
     *             Origin_Realm_AVP 
     *             Public_Identity_AVP
     *             User_Name_AVP
     *             Destination_Realm_AVP
     *             Server_Name_AVP
     *             Server_Assignment_Type_AVP
     *                 indicating value USER_DEREGISTRATION
     *             User_Data_Already_Available_AVP 
     *         ;
     *         to the IMS_HSS_A entity
     *     }
     *     then {
     *         the IMS_HSS_A entity sends the SAA containing
     *             Session_ID_AVP
     *             Vendor_Specific_Application_Id_AVP
     *             Auth_Session_State_AVP
     *             Origin_Host_AVP
     *             Origin_Realm_AVP
     *             Result_Code_AVP
     *                indicating value DIAMETER_SUCCESS
     *         ;
     *         to the IMS_S_CSCF_A entity
     *    }
     * }
     * </pre>
     * @see TS 103 653-1 clause 7.4
     */
    function f_mtc_check_TP_CX_HSS_SAA_02(
        DiameterInterfaceMonitor p_monitorCompRef
    ) runs on ImsTestCoordinator {
        p_monitorCompRef.start (
            f_receiveDiameterMsg ( { sAR_MSG := mw_SAR_UserDeregistration }, 
                                   "TP_CX_HSS_SAA_02  - SA Request",
                                   true )
        );
        p_monitorCompRef.done;
        p_monitorCompRef.start (
            f_receiveDiameterMsg ( { sAA_MSG := mw_SAA}, 
                                   "TP_CX_HSS_SAA_02  - SA Answer",
                                   true )
        );
        p_monitorCompRef.done;
    } // End of function f_mtc_check_TP_CX_HSS_SAA_02
    

    /**
     * Starts monitor component behavior for TP_CX_HSS_UAA_01
     * @param p_monitorCompRef Reference to monitor component
     * <pre>
     * Test objective  "IUT successfully processes all mandatory AVPs in a UA-Request received due to first UE initial registration and sends UA-Answer."
     *
     * <pre>
     * 
     * Config Id CF_VxLTE_INT
     * 
     * Initial conditions with {
     *     the UE_A entity isNotRegisteredTo the IMS_A
     * }
     * 
     * ensure that {
     *     when {
     *         the IMS_I_CSCF_A entity sends a UAR containing
     *             Session_ID_AVP
     *             Vendor_Specific_Application_Id_AVP
     *             Auth_Session_State_AVP
     *                 indicating value NO_STATE_MAINTAINED,
     *             Origin_Host_AVP
     *             Origin_Realm_AVP
     *             Public_Identity_AVP
     *             Visited_Network_Identifier_AVP
     *             User_Authorization_Type_AVP 
     *                 indicating value REGISTRATION,
     *             User_Name_AVP
     *             Destination_Host_AVP
     *             Destination_Realm_AVP
     *             UAR_Flags_AVP 
     *                 indicating value IMS_Emergency_Registration_bit_not_set
     *             ;
     *         to the IMS_HSS_A entity
     *     }
     *     then {
     *         the IMS_HSS_A entity sends the UAA containing
     *             Session_ID_AVP
     *             Vendor_Specific_Application_Id_AVP
     *             Auth_Session_State_AVP
     *             Origin_Host_AVP
     *             Origin_Realm_AVP 
     *             not Result_Code_AVP
     *             Experimental_Result_AVP containing
     *                 Experimental_Result_Code_AVP 
     *                     indicating value DIAMETER_FIRST_REGISTRATION
     *                 ;
     *             ;
     *         to the IMS_I_CSCF_A entity
     *     }
     * }
     * </pre>
     * @see TS 103 653-1 clause 7.4
     */
    function f_mtc_check_TP_CX_HSS_UAA_01(
        DiameterInterfaceMonitor p_monitorCompRef
    ) runs on ImsTestCoordinator {
        p_monitorCompRef.start (
            f_receiveDiameterMsg ( { uAR_MSG := mw_UAR_Registration }, 
                                   "TP_CX_HSS_UAA_01  - UA Request",
                                   true )
        );
        p_monitorCompRef.done;
        p_monitorCompRef.start (
            f_receiveDiameterMsg ( { uAA_MSG := mw_UAA_diamFirstRegistration }, 
                                   "TP_CX_HSS_UAA_01  - UA Answer",
                                   true )
        );
        p_monitorCompRef.done;
    } // End of function f_mtc_check_TP_CX_HSS_UAA_01

    /**
     * Starts monitor component behavior for TP_CX_HSS_UAA_02
     * @param p_monitorCompRef Reference to monitor component
     * <pre>
     * Test objective  "IUT successfully processes all mandatory AVPs in a UA-Request received due to protected UE initial registration and sends UA-Answer."
     *
     * <pre>
     * 
     * Config Id CF_VxLTE_INT
     * 
     * Initial conditions with {
     *     the UE_A entity isNotRegisteredTo the IMS_A
     * }
     * 
     * ensure that {
     *     when {
     *         the IMS_I_CSCF_A entity sends a UAR containing
     *             Public_Identity_AVP
     *             User_Name_AVP
     *         ;
     *         to the IMS_HSS_A entity
     *     }
     *     then {
     *         the IMS_HSS_A entity sends the UAA containing
     *             not Result_Code_AVP
     *             Experimental_Result_AVP containing
     *                 Experimental_Result_Code_AVP
     *                     indicating value DIAMETER_SUBSEQUENT_REGISTRATION
     *                 ;,
     *             Server_Name_AVP
     *             not Server_Capabilities_AVP
     *         ;
     *         to the IMS_I_CSCF_A entity
     *     }
     * }
     * </pre>
     * @see TS 103 653-1 clause 7.4
     */
    function f_mtc_check_TP_CX_HSS_UAA_02(
        DiameterInterfaceMonitor p_monitorCompRef
    ) runs on ImsTestCoordinator {
        p_monitorCompRef.start (
            f_receiveDiameterMsg ( { uAR_MSG := mw_UAR }, 
                                   "TP_CX_HSS_UAA_02  - UA Request",
                                   true )
        );
        p_monitorCompRef.done;
        p_monitorCompRef.start (
            f_receiveDiameterMsg ( { uAA_MSG := mw_UAA_diamSubsequentRegistration }, 
                                   "TP_CX_HSS_UAA_02  - UA Answer",
                                   true )
        );
        p_monitorCompRef.done;
    } // End of function f_mtc_check_TP_CX_HSS_UAA_02

    /**
     * Starts monitor component behavior for TP_CX_HSS_UAA_03
     * @param p_monitorCompRef Reference to monitor component
     * <pre>
     * Test objective  "Verify that the IUT checks that the Private User Identity and the Public User Identity exists in the HSS and if not then IUT sets the appropriate experimental result code in the UA-Answer."
     *
     * <pre>
     * 
     * Config Id CF_VxLTE_INT
     * 
     * Initial conditions with {
     *     the UE_A entity isNotRegisteredTo the IMS_A
     * }
     * 
     * ensure that {
     *     when {
     *         the IMS_I_CSCF_A entity sends a UAR containing
     *         User_Name_AVP
     *             indicating value "an unknown private user identity"
     *         Public_Identity_AVP
     *         ;
     *         to the IMS_HSS_A entity
     *     }
     *     then {
     *         the IMS_HSS_A entity sends the UAA containing
     *             not Result_Code_AVP
     *             Experimental_Result_AVP
     *                 Experimental_Result_Code_AVP
     *                     indicating value DIAMETER_ERROR_USER_UNKNOWN
     *             not Server_Name_AVP
     *         ;
     *         to the IMS_I_CSCF_A entity
     *     }
     * }
     * </pre>
     * @see TS 103 653-1 clause 7.4
     */
    function f_mtc_check_TP_CX_HSS_UAA_03(
        DiameterInterfaceMonitor p_monitorCompRef
    ) runs on ImsTestCoordinator {
        p_monitorCompRef.start (
            f_receiveDiameterMsg ( { uAR_MSG := mw_UAR_unknownPrivateId }, 
                                   "TP_CX_HSS_UAA_03  - UA Request",
                                   true )
        );
        p_monitorCompRef.done;
        p_monitorCompRef.start (
            f_receiveDiameterMsg ( { uAA_MSG := mw_UAA_diamErrorUserUnknown }, 
                                   "TP_CX_HSS_UAA_03  - UA Answer",
                                   true )
        );
        p_monitorCompRef.done;
    } // End of function f_mtc_check_TP_CX_HSS_UAA_03

    /**
     * Starts monitor component behavior for TP_CX_HSS_UAA_03
     * @param p_monitorCompRef Reference to monitor component
     * <pre>
     * Test objective  "IUT successfully processes all mandatory AVPs in a UA-Request received due to UE de-registration and sends UA-Answer."
     *
     * <pre>
     * 
     * Config Id CF_VxLTE_INT
     * 
     * Initial conditions with {
     *     the UE_A entity isRegisteredTo the IMS_A
     * }
     * 
     * ensure that {
     *     when {
     *         the IMS_I_CSCF_A entity sends a UAR containing
     *             Public_Identity_AVP
     *             User_Name_AVP
     *             User_Authentication_Type_AVP
     *                 indicating value DE_REGISTRATION
     *             Visited_Network_Identifier_AVP
     *         ;
     *         to the IMS_HSS_A entity
     *     }
     *     then {
     *         the IMS_HSS_A entity sends the UAA containing
     *             Result_Code_AVP
     *                 indicating value DIAMETER_SUCCESS
     *             Server_Name_AVP
     *             not Server_Capabilities_AVP
     *         ;
     *         to the IMS_I_CSCF_A entity
     *     }
     * }
     * </pre>
     * @see TS 103 653-1 clause 7.4
     */
    function f_mtc_check_TP_CX_HSS_UAA_04(
        DiameterInterfaceMonitor p_monitorCompRef
    ) runs on ImsTestCoordinator {
        p_monitorCompRef.start (
            f_receiveDiameterMsg ( { uAR_MSG := mw_UAR_deRegistration }, 
                                   "TP_CX_HSS_UAA_04  - UA Request",
                                   true )
        );
        p_monitorCompRef.done;
        p_monitorCompRef.start (
            f_receiveDiameterMsg ( { uAA_MSG := mw_UAA_diamSuccess }, 
                                   "TP_CX_HSS_UAA_04  - UA Answer",
                                   true )
        );
        p_monitorCompRef.done;
    } // End of function f_mtc_check_TP_CX_HSS_UAA_04


} // end group g_HSS


+477 −39

File changed.

Preview size limit exceeded, changes collapsed.