Commit d4400cc4 authored by Yann Garcia's avatar Yann Garcia
Browse files

Create SIP Session Abort TDs

parent 10d0d2f6
Loading
Loading
Loading
Loading
+282 −0
Original line number Diff line number Diff line
@@ -1145,4 +1145,286 @@ module AtsImsIot_TP_behavior_GM {
        
    } // End of group imsBye
    
    group imsCancel {
        
        /**
         * @desc Verify that the P-CSCF successfully processes a CANCEL (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 and
         *     the UE_A entity hasAchieveInitialINVITE
         * }
         * 
         * 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_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
         *         }
         *     }
         */
        function f_mtc_check_TP_GM_PCSCF_CANCEL_01(
                                                   in ImsInterfaceMonitor p_monitorCompRef,
                                                   in boolean p_checkMessage := true,
                                                   in boolean p_forward_to_mtc := false
                                                   ) runs on ImsTestCoordinator {
            p_monitorCompRef.start(
                f_imsIot_receive(
                    { mw_SipRequest(mw_CANCEL_Request_Base) }, //FIXME
                    {},
                    { 0, omit },
                    "TP_GM_PCSCF_CANCEL_01",
                    p_forward_to_mtc,
                    p_checkMessage
                )
            );
            p_monitorCompRef.done;
        } // End of function f_mtc_check_TP_GM_PCSCF_CANCEL_01
        
        /**
         * @desc Verify that the P-CSCF successfully processes a CANCEL (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 and and
         *     the UE_A entity hasAchieveInitialINVITE
         * }
         * 
         * Expected behaviour
         * ensure that {
         *     when {
         *         the UE_A entity isRequestedToSend a CANCEL
         *     }
         *     then {
         *         the IMS_P_CSCF_B entity receives a CANCEL 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_B entity
         *         }
         *     }
         */
        function f_mtc_check_TP_GM_PCSCF_CANCEL_02(
                                                   in ImsInterfaceMonitor p_monitorCompRef,
                                                   in boolean p_checkMessage := true,
                                                   in boolean p_forward_to_mtc := false
                                                   ) runs on ImsTestCoordinator {
            p_monitorCompRef.start(
                f_imsIot_receive(
                    { mw_SipRequest(mw_CANCEL_Request_Base) }, //FIXME
                    {},
                    { 0, omit },
                    "TP_GM_PCSCF_CANCEL_02",
                    p_forward_to_mtc,
                    p_checkMessage
                )
            );
            p_monitorCompRef.done;
        } // End of function f_mtc_check_TP_GM_PCSCF_CANCEL_02
        
    } // End of group imsCancel
    
    group imsBusy {
        
        /**
         * @desc Verify that the P-CSCF successfully processes a 486 INVITE (busy) to reject call (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 and
         *     the UE_B entity isBusy
         * }
         * 
         * Expected behaviour
         * ensure that {
         *     when {
         *         the UE_B entity isRequestedToSend an 486_INVITE
         *     }
         *     then {
         *         the IMS_P_CSCF_A entity receives a 486_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 UE_A entity
         *         }
         *     }
         */
        function f_mtc_check_TP_GM_PCSCF_486INVITE_01(
                                                      in ImsInterfaceMonitor p_monitorCompRef,
                                                      in boolean p_checkMessage := true,
                                                      in boolean p_forward_to_mtc := false
                                                      ) runs on ImsTestCoordinator {
            p_monitorCompRef.start(
                f_imsIot_receive(
                    { mw_SipResponse(mw_Response_Base(c_statusLine486)) }, //FIXME
                    {},
                    { 0, omit },
                    "TP_GM_PCSCF_486INVITE_01",
                    p_forward_to_mtc,
                    p_checkMessage
                )
            );
            p_monitorCompRef.done;
        } // End of function f_mtc_check_TP_GM_PCSCF_486INVITE_01
        
        /**
         * @desc Verify that the P-CSCF successfully processes a 486 INVITE (busy) to reject call (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 and and
         *     the UE_B entity isBusy
         * }
         * 
         * Expected behaviour
         * ensure that {
         *     when {
         *         the UE_B entity isRequestedToSend a 486_INVITE
         *     }
         *     then {
         *         the IMS_P_CSCF_B entity receives a CANCEL 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 UE_B entity
         *         }
         *     }
         */
        function f_mtc_check_TP_GM_PCSCF_486INVITE_02(
                                                      in ImsInterfaceMonitor p_monitorCompRef,
                                                      in boolean p_checkMessage := true,
                                                      in boolean p_forward_to_mtc := false
                                                      ) runs on ImsTestCoordinator {
            p_monitorCompRef.start(
                f_imsIot_receive(
                    { mw_SipResponse(mw_Response_Base(c_statusLine486)) }, //FIXME
                    {},
                    { 0, omit },
                    "TP_GM_PCSCF_486INVITE_01",
                    p_forward_to_mtc,
                    p_checkMessage
                )
            );
            p_monitorCompRef.done;
        } // End of function f_mtc_check_TP_GM_PCSCF_486INVITE_02
        
    } // End of group imsBusy
    
    group imsRequestTermination {
        
        /**
         * @desc Verify that the P-CSCF successfully processes a 487 INVITE (Request Terminated) (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 and
         *     the UE_A entity hasAchieveInitialINVITE
         * }
         * 
         * Expected behaviour
         * ensure that {
         *     when {
         *         the UE_A entity isRequestedToSend a CANCEL
         *     }
         *     then {
         *         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 UE_A entity
         *         }
         *     }
         */
        function f_mtc_check_TP_GM_PCSCF_487INVITE_01(
                                                      in ImsInterfaceMonitor p_monitorCompRef,
                                                      in boolean p_checkMessage := true,
                                                      in boolean p_forward_to_mtc := false
                                                      ) runs on ImsTestCoordinator {
            p_monitorCompRef.start(
                f_imsIot_receive(
                    { mw_SipResponse(mw_Response_Base(c_statusLine487)) }, //FIXME
                    {},
                    { 0, omit },
                    "TP_GM_PCSCF_487INVITE_01",
                    p_forward_to_mtc,
                    p_checkMessage
                )
            );
            p_monitorCompRef.done;
        } // End of function f_mtc_check_TP_GM_PCSCF_487INVITE_01
        
        /**
         * @desc Verify that the P-CSCF successfully processes a 487 INVITE (Request Terminated) (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 and and
         *     the UE_A entity hasAchieveInitialINVITE
         * }
         * 
         * Expected behaviour
         * ensure that {
         *     when {
         *         the UE_A entity isRequestedToSend a CANCEL
         *     }
         *     then {
         *         the IMS_P_CSCF_B entity receives a 487_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
         *             ;
         *         from the UE_A entity
         *         }
         *     }
         */
        function f_mtc_check_TP_GM_PCSCF_487INVITE_02(
                                                      in ImsInterfaceMonitor p_monitorCompRef,
                                                      in boolean p_checkMessage := true,
                                                      in boolean p_forward_to_mtc := false
                                                      ) runs on ImsTestCoordinator {
            p_monitorCompRef.start(
                f_imsIot_receive(
                    { mw_SipResponse(mw_Response_Base(c_statusLine487)) }, //FIXME
                    {},
                    { 0, omit },
                    "TP_GM_PCSCF_487INVITE_01",
                    p_forward_to_mtc,
                    p_checkMessage
                )
            );
            p_monitorCompRef.done;
        } // End of function f_mtc_check_TP_GM_PCSCF_487INVITE_02
        
    } // End of group imsRequestTermination
    
} // End of module AtsImsIot_TP_behavior_GM
 No newline at end of file
+326 −0

File changed.

Preview size limit exceeded, changes collapsed.

+104 −0
Original line number Diff line number Diff line
@@ -501,6 +501,110 @@ module AtsImsIot_TestCases_CALL {
        
    } // End of group imsSipSessionRelease
    
    group imsSipSessionAbortReject {
        
        group originatedLegs {
            
            /**
             * @desc To perform SIP session abort (originating side) and the related interactions with PCRF A and EPC A
             */
            testcase TC_VxLTE_INT_ABT_01() runs on ImsTestCoordinator system IotSystemInterface {
                // create components
                var IotEquipmentUser v_ueA := f_cf_create_IotEquipmentUser(c_userUE_A);
                var IotEquipmentUser v_ueB := f_cf_create_IotEquipmentUser(c_userUE_B);
                var ImsInterfaceMonitor v_gmA := f_cf_create_monitor(c_gm_A);
                var ImsInterfaceMonitor v_gmB := f_cf_create_monitor(c_gm_B);
                var ImsInterfaceMonitor v_ic := f_cf_create_monitor(c_ic);
                var ImsUserInfo v_userInfoA := f_getSipUserId(PX_EUT_A);
                var ImsUserInfo v_userInfoB := f_getSipUserId(PX_EUT_B);
                var CF_INT_CALL v_config := {v_gmA, omit, v_ic, omit, v_gmB, omit};
                
                // Map/connect component ports
                f_cf_adapter_up();
                f_cf_user_up(v_ueA);
                f_cf_user_up(v_ueB);
                
                // Preamble
                f_mtc_userRegistration(v_ueA, v_userInfoA); 
                f_mtc_userRegistration(v_ueB, v_userInfoB); 
                f_mtc_userInitiateCall (v_ueA, v_userInfoB);
                f_mtc_userCheckRinging(v_ueB);
                f_mtc_userCheckPeerIsRinging(v_ueA); // Event 19
                f_mtc_userTriggerCancelCall(v_ueA);
                
                // Test body
                f_mtc_check_TP_GM_PCSCF_CANCEL_01(v_gmA); // Event 20
                f_mtc_check_TP_MW_PCSCF_CANCEL_01(v_gmA/*FIXME: mwPS*/); // Event 23
//                f_mtc_check_TP_IMS_5107_03_ic(v_ic, false); // Event 25
                f_mtc_check_TP_GM_PCSCF_487INVITE_01(v_gmA); // Event 35
                f_mtc_check_TP_MW_PCSCF_487INVITE_01(v_gmA/*FIXME: mwPS*/); // Event 34
                f_mtc_userCheckCallCancelled(v_ueA); // Event 40
                f_mtc_userCheckCallEnded(v_ueB); // Event 41
                
                // Postamble
                f_PO_user_home_deregistration(v_ueA);
                f_PO_user_home_deregistration(v_ueB);
                
                // Unmap/disconnet component ports
                f_cf_user_down(v_ueA);
                f_cf_user_down(v_ueB);
                f_cf_adapter_down();
                f_cf_adapter_down();
            } //end testcase TC_VxLTE_INT_ABT_01
            
        } // End of group originatedLegs
        
        group terminatedLegs {
            
            /**
             * @desc To perform SIP session abort (originating side) and the related interactions with PCRF and EPC.
             */
            testcase TC_VxLTE_INT_ABT_02() runs on ImsTestCoordinator system IotSystemInterface {
                // create components
                var IotEquipmentUser v_ueA := f_cf_create_IotEquipmentUser(c_userUE_A);
                var IotEquipmentUser v_ueB := f_cf_create_IotEquipmentUser(c_userUE_B);
                var ImsInterfaceMonitor v_gmA := f_cf_create_monitor(c_gm_A);
                var ImsInterfaceMonitor v_gmB := f_cf_create_monitor(c_gm_B);
                var ImsInterfaceMonitor v_ic := f_cf_create_monitor(c_ic);
                var ImsUserInfo v_userInfoA := f_getSipUserId(PX_EUT_A);
                var ImsUserInfo v_userInfoB := f_getSipUserId(PX_EUT_B);
                var CF_INT_CALL v_config := {v_gmA, omit, v_ic, omit, v_gmB, omit};
                
                // Map/connect component ports
                f_cf_adapter_up();
                f_cf_user_up(v_ueA);
                f_cf_user_up(v_ueB);
                
                // Preamble
                f_mtc_userRegistration(v_ueA, v_userInfoA); 
                f_mtc_userRegistration(v_ueB, v_userInfoB); 
                f_mtc_userInitiateCall (v_ueA, v_userInfoB);
                f_mtc_userCheckRinging(v_ueB);
                f_mtc_userCheckPeerIsRinging(v_ueA);
                f_mtc_userTriggerCancelCall(v_ueA);
                
                // Test body
                f_mtc_check_TP_GM_PCSCF_CANCEL_02(v_gmB); // Event 20
                f_mtc_check_TP_MW_PCSCF_CANCEL_02(v_gmB/*FIXME: mwPS*/); // Event 23
//                f_mtc_check_TP_IMS_5107_03_ic(v_ic, false); // Check1
                f_mtc_check_TP_MW_PCSCF_487INVITE_02(v_gmB/*FIXME: mwPS*/); // Event 34
                f_mtc_userCheckCallCancelled(v_ueA); // Event 40
                f_mtc_userCheckCallEnded(v_ueB); // Event 41
                
                // Postamble
                f_PO_user_home_deregistration(v_ueA);
                f_PO_user_home_deregistration(v_ueB);
                
                // Unmap/disconnet component ports
                f_cf_user_down(v_ueA);
                f_cf_user_down(v_ueB);
                f_cf_adapter_down();
                f_cf_adapter_down();
            } //end testcase TC_VxLTE_INT_ABT_02
            
        } // End of group terminatedLegs
        
    } // End of group imsSipSessionAbortReject