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

Finalyze TD_VoLTE_ECO_INT_INI_01_02

parent 388568b8
Loading
Loading
Loading
Loading
+6 −8
Original line number Diff line number Diff line
@@ -411,7 +411,7 @@ module AtsImsIot_Emergency {
                        f_mtc_check_TP_MW_IBCF_100Trying_01(vc_vxlte_monitor_components.mwBE, -, v_sip);
                        
                        f_mtc_check_TP_MM_PSAP_INVITE_01(vc_vxlte_monitor_components.mwB_PSAP, true); // Event 12
                        f_mtc_check_TP_MM_PSAP_100Trying_01(vc_vxlte_monitor_components.mwBE, -, v_sip);
                        f_mtc_check_TP_MM_PSAP_100Trying_01(vc_vxlte_monitor_components.mwB_PSAP, -, v_sip);

                        // 183 Session Progress
                        f_mtc_check_TP_MM_PSAP_183SESSION_PROGRESS_01(vc_vxlte_monitor_components.mwB_PSAP, -, v_sip); // Event 13
@@ -430,8 +430,8 @@ module AtsImsIot_Emergency {
                        f_mtc_check_TP_GX_PGW_RAA_02(vc_vxlte_monitor_components.gx);  // Event 18
                        f_mtc_check_TP_RX_PCRF_AAA_02(vc_vxlte_monitor_components.rx); // Event 19
                        
                        f_mtc_check_TP_MM_PSAP_1XXRESP_01(vc_vxlte_monitor_components.mwB_PSAP); // 180 Ringing – Event 22                        
                        // FIXME f_mtc_check_TP_MW_IBCF_180RINGING_01(vc_vxlte_monitor_components.mwBE, -, v_sip); // Event 23
                        f_mtc_check_TP_MM_PSAP_180RINGING_01(vc_vxlte_monitor_components.mwB_PSAP); // 180 Ringing – Event 22                        
                        f_mtc_check_TP_MW_IBCF_180RINGING_01(vc_vxlte_monitor_components.mwBE, -, v_sip); // Event 23
                        f_mtc_check_TP_MW_ECSCF_180RINGING_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 24
                        f_mtc_check_TP_GM_PCSCF_180RINGING_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 25
                        
@@ -444,16 +444,14 @@ module AtsImsIot_Emergency {
                        f_mtc_userCheckPeerIsRinging(v_ueA);
                        f_mtc_userAnswerCall(v_psap);
                        
                        //f_mtc_check_TP_IC_IBCF_2XXRESP_01(vc_vxlte_monitor_components.mwB_PSAP, true); // 200 OK – Event 26
                        //f_mtc_check_TP_IC_IBCF_2XXRESP_02(vc_vxlte_monitor_components.mwB_PSAP, true); // 200 OK – Event 25
                        f_mtc_check_TP_MM_PSAP_2XXRESP_03(vc_vxlte_monitor_components.mwB_PSAP); // 200 OK – Event 26
                        // FIXME f_mtc_check_TP_???_2XXRESP_03(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 27
                        f_mtc_check_TP_MM_PSAP_200OK_01(vc_vxlte_monitor_components.mwB_PSAP, -, v_sip); // 200 OK Event 26
                        f_mtc_check_TP_MW_IBCF_200OK(vc_vxlte_monitor_components.mwBE, -, v_sip); // Event 27
                        f_mtc_check_TP_MW_ECSCF_200OK_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 28
                        f_mtc_check_TP_GM_PCSCF_200OK_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 29

                        f_mtc_check_TP_GM_PCSCF_ACK_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 30 
                        f_mtc_check_TP_MW_ECSCF_ACK_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 31
                        // FIXME f_mtc_check_TP_???_ACK_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 32
                        f_mtc_check_TP_MW_IBCF_ACK_01(vc_vxlte_monitor_components.mwBE, -, v_sip); // Event 32
                        f_mtc_check_TP_MM_PSAP_ACK_01(vc_vxlte_monitor_components.mwB_PSAP); // ACK – Event 33

                        f_mtc_userCheckCallEstablished(v_ueA); // Event 34
+338 −6
Original line number Diff line number Diff line
@@ -32,7 +32,7 @@ module AtsImsIot_TP_behavior_MM {
    group imsInvite {
        
        /**
         * @desc Verify that the P-CSCF successfully processes an initial INVITE (Originating Leg)..
         * @desc Verify that the IBCF successfully processes an initial INVITE (Originating Leg)..
         * Initial conditions with {
         *     the UE_A entity isAttachedTo the EPC_A and
         *     the PSAP entity isAttachedTo the EPC_B and
@@ -43,7 +43,7 @@ module AtsImsIot_TP_behavior_MM {
         * Expected behaviour
         * ensure that {
         *     when {
         *         the PSAP entity receives an INVITE containing
         *         the IMS_IBCF_A entity receives an INVITE containing
         *             From indicating value PX_UE_A_SIP_URI,
         *             To indicating value PX_PSAP_SIP_URI,
         *             CallId indicating value PX_UE_A_CALLID,
@@ -55,11 +55,22 @@ module AtsImsIot_TP_behavior_MM {
         *                     Version indicating value "0" 
         *                         ;
         *             ;;
         *         from the IMS_EBCF_A entity
         *         from the IMS_E_CSCF_A entity
         *     }
         *     then {
         *         the PSAP entity sends an 100_Trying
         *         to the IMS_IBCF_A entity
         *         the IMS_IBCF_A entity sends an INVITE containing
         *             From indicating value PX_UE_A_SIP_URI,
         *             To indicating value PX_PSAP_SIP_URI,
         *             CallId indicating value PX_UE_A_CALLID,
         *             Via indicating value PX_UE_A_VIA,
         *             Route indicating value PX_UE_A_SERVICE_ROUTE,
         *             PAccessNetworkInfo,
         *             MessageBody containing
         *                 SDP containing
         *                     Version indicating value "0" 
         *                         ;
         *             ;;
         *         to the PSAP entity
         *         }
         *     }
         */
@@ -97,4 +108,325 @@ module AtsImsIot_TP_behavior_MM {

    } // End of group imsInvite

} // end module AtsImsIot_TP_behavior_MM
 No newline at end of file
    group ims100Trying {
        
        /**
         * @desc Verify that the IBCF successfully processes a 100 (Trying) provisional response on initial INVITE (Originating Leg).
         * Initial conditions with {
         *     the UE_A entity isAttachedTo the EPC_A and
         *     the PSAP entity isAttachedTo the EPC_B and
         *     the UE_A entity isRegisteredTo the IMS_A and
         *     the PSAP entity isRegisteredTo the IMS_B
         * }
         * 
         * Expected behaviour
         * ensure that {
         *     when {
         *         the IMS_IBCF_A entity receives a 100_Trying
         *         from the PSAP entity
         *     }
         *     then {
         *         the IMS_IBCF_A entity sends a 100_Trying
         *         to the IMS_E_CSCF_A entity
         *         }
         *     }
         */
        function f_mtc_check_TP_MW_IBSCF_100Trying_01(
                                                      in SipInterfaceMonitor p_monitorCompRef,
                                                      in boolean p_checkMessage := false,
                                                      in SipMessage p_sip
                                                      ) runs on ImsTestCoordinator {
            if (isvalue(p_monitorCompRef)) {
                // Check the 100 TRYING
                p_monitorCompRef.start(
                                       f_Iot_Sip_receive(
                                                         { mw_SipResponse(mw_TP_MW_IBCF_100Trying_01(
                                                                                                      p_sip.request.msgHeader.cSeq,
                                                                                                      p_sip.request.msgHeader.fromField,
                                                                                                      p_sip.request.msgHeader.toField
                                                                          )) 
                                                         },
                                                         { mw_SipResponse(mw_100Trying_Base) },
                                                         { 0, omit },
                                                         "TP_MW_IBCF_100Trying_01",
                                                         false,
                                                         p_checkMessage
                                                         )
                                        );
                p_monitorCompRef.done;
            }
        } // End of function f_mtc_check_TP_MW_IBSCF_100Trying_01
        
    } // End of group ims100Trying

    group ims180Ringing {
        
        /**
         * @desc Verify that the IBCF successfully processes a 180 (Ringing) provisional response on initial INVITE (Originating Leg).
         * Initial conditions with {
         *     the UE_A entity isAttachedTo the EPC_A and
         *     the PSAP entity isAttachedTo the EPC_B and
         *     the UE_A entity isRegisteredTo the IMS_A and
         *     the PSAP entity isRegisteredTo the IMS_B
         * }
         * 
         * Expected behaviour
         * ensure that {
         *     when {
         *         the IMS_IBCF_A entity receives a 180_Ringing containing
         *             From indicating value PX_PSAP_SIP_URI,
         *             To indicating value PX_UE_A_SIP_URI,
         *             CallId indicating value PX_PSAP_CALLID,
         *             Via indicating value PX_PSAP_VIA,
         *             Route indicating value PX_PSAP_SERVICE_ROUTE
         *             ;
         *         from the PSAP entity
         *     }
         *     then {
         *         the IMS_IBCF_A entity sends a 180_Ringing containing
         *             From indicating value PX_PSAP_SIP_URI,
         *             To indicating value PX_UE_A_SIP_URI,
         *             CallId indicating value PX_PSAP_CALLID,
         *             Via indicating value PX_PSAP_VIA,
         *             Route indicating value PX_PSAP_SERVICE_ROUTE
         *             ;
         *         to the IMS_E_CSCF_A entity
         *         }
         *     }
         */
        function f_mtc_check_TP_MM_PSAP_180RINGING_01(
                                                       in SipInterfaceMonitor p_monitorCompRef,
                                                       in boolean p_checkMessage := false,
                                                       in SipMessage p_sip
                                                       ) runs on ImsTestCoordinator {
            if (isvalue(p_monitorCompRef)) {
                // Check the 180 RINGING
                p_monitorCompRef.start(
                                       f_Iot_Sip_receive(
                                                         { mw_SipResponse(mw_TP_MM_PSAP_180Ringing_01(
                                                                                                       p_sip.request.msgHeader.cSeq,
                                                                                                       p_sip.request.msgHeader.fromField,
                                                                                                       mw_To_NameAddr_TelUrl(
                                                                                                                             -,
                                                                                                                             p_sip.request.msgHeader.toField.addressField.addrSpecUnion.components.tel.subscriber
                                                                          ))) 
                                                         },
                                                         { mw_SipResponse(mw_180Ringing_Base) },
                                                         { 0, omit },
                                                         "TP_MM_PSAP_180RINGING_01",
                                                         false,
                                                         p_checkMessage
                                                         )
                                        );
                p_monitorCompRef.done;
            }
        } // End of function f_mtc_check_TP_MM_PSAP_180RINGING_01
        
    } // End of group ims180Ringing

    group ims183SessionProgress {
        
        /**
         * @desc Verify that the IBCF successfully processes a 183 (Ringing) provisional response on initial INVITE (Originating Leg).
         * Initial conditions with {
         *     the UE_A entity isAttachedTo the EPC_A and
         *     the PSAP entity isAttachedTo the EPC_B and
         *     the UE_A entity isRegisteredTo the IMS_A and
         *     the PSAP entity isRegisteredTo the IMS_B
         * }
         * 
         * Expected behaviour
         * ensure that {
         *     when {
         *         the IMS_IBCF_A entity receives a 183_SessionProgress containing
         *             From indicating value PX_SAP_URI,
         *             To indicating value PX_UE_A_SIP_URI,
         *             CallId indicating value PX_SAP_CALLID,
         *             Via indicating value PX_PSAP_VIA,
         *             Route indicating value PX_PSAP_SERVICE_ROUTE
         *             ;
         *         from the PSAP entity
         *     }
         *     then {
         *         the IMS_IBCF_A entity sends a 183_SessionProgress containing
         *             From indicating value PX_PSAP_SIP_URI,
         *             To indicating value PX_UE_A_SIP_URI,
         *             CallId indicating value PX_PSAP_CALLID,
         *             Via indicating value PX_PSAP_VIA,
         *             Route indicating value PX_PSAP_SERVICE_ROUTE
         *             ;
         *         to the IMS_E_CSCF_A entity
         *         }
         *     }
         */
        function f_mtc_check_TP_MM_PSAP_183SESSION_PROGRESS_01(
                                                                in SipInterfaceMonitor p_monitorCompRef,
                                                                in boolean p_checkMessage := false,
                                                                in SipMessage p_sip
                                                                ) runs on ImsTestCoordinator {
            if (isvalue(p_monitorCompRef)) {
                // Check the 183 SESSION_PROGRESS
                p_monitorCompRef.start(
                                       f_Iot_Sip_receive(
                                                         { mw_SipResponse(mw_TP_MM_PSAP_183SessionProgress_01(
                                                                                                               p_sip.request.msgHeader.cSeq,
                                                                                                               p_sip.request.msgHeader.fromField,
                                                                                                               p_sip.request.msgHeader.toField
                                                                                                               )) 
                                                         },
                                                         { mw_SipResponse(mw_183SessionProgress_Base) },
                                                         { 0, omit },
                                                         "TP_MM_PSAP_183SESSION_PROGRESS_01",
                                                         false,
                                                         p_checkMessage
                                                         )
                                        );
                p_monitorCompRef.done;
            }
        } // End of function f_mtc_check_TP_MM_PSAP_183SESSION_PROGRESS_01

    } // End of group ims183SessionProgress
    
    group ims200Ok {
        
        /**
         * @desc Verify that the IBCF successfully processes a 200 (OK) provisional response on initial INVITE (Originating Leg).
         * Initial conditions with {
         *     the UE_A entity isAttachedTo the EPC_A and
         *     the PSAP entity isAttachedTo the EPC_B and
         *     the UE_A entity isRegisteredTo the IMS_A and
         *     the PSAP entity isRegisteredTo the IMS_B
         * }
         * 
         * Expected behaviour
         * ensure that {
         *     when {
         *         the IMS_IBCF_A entity receives a 200_Ok containing
         *             From indicating value PX_PSAP_SIP_URI,
         *             To indicating value PX_UE_A_SIP_URI,
         *             CallId indicating value PX_PSAP_CALLID,
         *             Via indicating value PX_PSAP_VIA,
         *             Route indicating value PX_PSAP_SERVICE_ROUTE,
         *             not PChargingVector,
         *             not PChargingFunctionAddresses,
         *             not PPreferredIdentity
         *             ;
         *         from the PSAP entity
         *     }
         *     then {
         *         the IMS_IBCF_A entity sends a 200_Ok containing
         *             From indicating value PX_PSAP_SIP_URI,
         *             To indicating value PX_UE_A_SIP_URI,
         *             CallId indicating value PX_PSAP_CALLID,
         *             Via indicating value PX_PSAP_VIA,
         *             Route indicating value PX_PSAP_SERVICE_ROUTE,
         *             PChargingVector,
         *             PChargingFunctionAddresses,
         *             PPreferredIdentity
         *             ;
         *         to the IMS_E_CSCF_A entity
         *         }
         *     }
         */
        function f_mtc_check_TP_MM_PSAP_200OK_01(
                                                  in SipInterfaceMonitor p_monitorCompRef,
                                                  in boolean p_checkMessage := false,
                                                  in SipMessage p_sip
                                                  ) runs on ImsTestCoordinator {
            if (isvalue(p_monitorCompRef)) {
                var ImsUserInfo v_userInfoB := f_getSipUserId(PX_EUT_B);
                
                // Check the 200 OK
                p_monitorCompRef.start(
                                       f_Iot_Sip_receive(
                                                         { mw_SipResponse(mw_200OK(
                                                                                   p_sip.request.msgHeader.cSeq,
                                                                                   p_sip.request.msgHeader.callId,
                                                                                   p_sip.request.msgHeader.fromField,
                                                                                   (
                                                                                      mw_To_NameAddr_TelUrl({quotedString:=f_getSipUserId(PX_EUT_B).publicId}),
                                                                                      mw_To_AddrUnion_TelUrl(f_getTelUserId(PX_EUT_B).publicId),
                                                                                      p_sip.request.msgHeader.toField
                                                                                    )
                                                                                   )) 
                                                         },
                                                         { mw_SipResponse(mw_200OK_Base) },
                                                         { 0, omit },
                                                         "TP_MM_PSAP_200OK_01",
                                                         false,
                                                         p_checkMessage
                                                         )
                                        );
                p_monitorCompRef.done;
                
            }
        } // End of function f_mtc_check_TP_MM_PSAP_200OK_01
        
    } // End of group ims200Ok
    
    group imsAck {
        
        /**
         * @desc Verify that the IBCF successfully processes a ACK provisional response on initial INVITE (Originating Leg).
         * Initial conditions with {
         *     the UE_A entity isAttachedTo the EPC_A and
         *     the PSAP entity isAttachedTo the EPC_B and
         *     the UE_A entity isRegisteredTo the IMS_A and
         *     the PSAP entity isRegisteredTo the IMS_B
         * }
         * 
         * Expected behaviour
         * ensure that {
         *     when {
         *         the IMS_IBCF_A entity receives an ACK containing
         *             From indicating value PX_UE_A_SIP_URI,
         *             To indicating value PX_PSAP_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 IMS_E_CSCF_A entity
         *     }
         *     then {
         *         the IMS_IBCF_A entity sends an ACK containing
         *             From indicating value PX_UE_A_SIP_URI,
         *             To indicating value PX_PSAP_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 PSAP entity
         *         }
         *     }
         */
        function f_mtc_check_TP_MM_PSAP_ACK_01(
                                                in SipInterfaceMonitor p_monitorCompRef,
                                                in boolean p_checkMessage := false,
                                                in SipMessage p_sip
                                                ) runs on ImsTestCoordinator {
            if (isvalue(p_monitorCompRef)) {
                // Check the ACK
                p_monitorCompRef.start(
                                       f_Iot_Sip_receive(
                                                         { mw_SipRequest(mw_TP_MM_PSAP_ACK_01(
                                                                                               p_sip.request.msgHeader.callId,
                                                                                               p_sip.request.msgHeader.cSeq,
                                                                                               -, // FIXME To be set
                                                                                               p_sip.request.msgHeader.fromField,
                                                                                               p_sip.request.msgHeader.toField
                                                                                               )) 
                                                         },
                                                         { mw_SipRequest(mw_ACK_Request_Base) },
                                                         { 0, omit },
                                                         "TP_MM_PSAP_ACK_01 - Request",
                                                         false,
                                                         p_checkMessage
                                                         )
                                        );
                p_monitorCompRef.done;
            }
        } // End of function f_mtc_check_TP_MM_PSAP_ACK_01
        
    } // End of group imsAck
    
} // End of module AtsImsIot_TP_behavior_MM
 No newline at end of file
+1 −1
Original line number Diff line number Diff line
@@ -297,7 +297,7 @@ module AtsImsIot_TP_behavior_MW_EB {
         * Expected behaviour
         * ensure that {
         *     when {
         *         the IMS_EP_CSCF_A entity receives a 200_Ok containing
         *         the IMS_E_CSCF_A entity receives a 200_Ok containing
         *             From indicating value PX_PSAP_SIP_URI,
         *             To indicating value PX_UE_A_SIP_URI,
         *             CallId indicating value PX_PSAP_CALLID,
+103 −0

File changed.

Preview size limit exceeded, changes collapsed.

+0 −12
Original line number Diff line number Diff line
@@ -1134,18 +1134,6 @@ module AtsImsIot_Templates_MW {
            }
        } // End of template mw_TP_MW_IBCF_ACK_01

        template (present) ACK_Request mw_TP_MW_IBCF_ACK_02( // TODO To be enforced
                                                             template (present) CallId p_callId := ?,
                                                             template (present) CSeq p_cSeq := ?,
                                                             template (present) SipUrl p_ack_uri := ?,
                                                             template (present) From p_from := ?,
                                                             template (present) To p_to := ?
                                                             ) modifies mw_TP_MW_IBCF_ACK_01 := {
            msgHeader := {
                route := omit
            }
        } // End of template mw_TP_MW_IBCF_ACK_02

    }

} // End of module AtsImsIot_Templates_MW 
 No newline at end of file