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

Finalyze INT_INI Test Cases skeloton, Add TD_VoLTE_ECO_INT_REL_01_02

parent 2f3ad842
Loading
Loading
Loading
Loading
+576 −26

File changed.

Preview size limit exceeded, changes collapsed.

+238 −28
Original line number Diff line number Diff line
@@ -358,6 +358,72 @@ module AtsImsIot_TP_behavior_MW_EB {
            }
        } // End of function f_mtc_check_TP_MW_IBCF_200OK_01
        
        /**
         * @desc Verify that the E-CSCF successfully processes a 200 (Ok) provisional response on initial INVITE (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
         * }
         * 
         * Expected behaviour
         * ensure that {
         *     when {
         *         the IMS_E_CSCF_A entity receives a 200_Ok 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,
         *             PChargingVector,
         *             PChargingFunctionAddresses,
         *             PPreferredIdentity
         *             ;
         *         from the UE_B entity
         *     }
         *     then {
         *         the IMS_E_CSCF_A entity sends a 200_Ok 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,
         *             not PChargingVector,
         *             not PChargingFunctionAddresses,
         *             not PPreferredIdentity
         *             ;
         *         from the IMS_P_CSCF_B entity
         *         }
         *     }
         */
        function f_mtc_check_TP_MW_IBCF_200OK_02(
                                                  in SipInterfaceMonitor p_monitorCompRef,
                                                  in boolean p_checkMessage := false,
                                                  in SipMessage p_sip
                                                  ) runs on ImsTestCoordinator {
            if (isvalue(p_monitorCompRef)) {
                // 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,
                                                                                   p_sip.request.msgHeader.toField
                                                                                   )) 
                                                         },
                                                         { mw_SipResponse(mw_200OK_Base) },
                                                         { 0, omit },
                                                         "TP_MW_IBCF_200OK_02",
                                                         false,
                                                         p_checkMessage
                                                         )
                                        );
                p_monitorCompRef.done;
            }
        } // End of function f_mtc_check_TP_MW_IBCF_200OK_02
        
      } // End of group ims200Ok

    group imsAck {
@@ -425,4 +491,148 @@ module AtsImsIot_TP_behavior_MW_EB {
        
    } // End of group imsAck
    
    group imsBye {
        
        /**
         * @desc Verify that the E-CSCF successfully processes a BYE (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
         *     the UE_A entity previouslyEstablishedCallWith the UE_B
         * }
         * 
         * Expected behaviour
         * ensure that {
         *     when {
         *         the IMS_E_CSCF_A entity receives a BYE 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 IMS_P_CSCF_A entity
         *     }
         *     then {
         *         the IMS_E_CSCF_A entity sends a BYE 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 IMS_IBCF_A entity
         *         }
         *     }
         */
        function f_mtc_check_TP_MW_IBCF_BYE_01(
                                               in SipInterfaceMonitor p_monitorCompRef,
                                               in boolean p_checkMessage := false,
                                               inout SipMessage p_sip
                                               ) runs on ImsTestCoordinator {
            if (isvalue(p_monitorCompRef)) {
                // Check the BYE
                p_monitorCompRef.start(
                                       f_Iot_Sip_receive(
                                                         { mw_SipRequest(mw_TP_MW_IBCF_BYE_01(
                                                                                               p_sip.request.msgHeader.callId,
                                                                                               -, // New CSeq,
                                                                                               -, // FIXME To be set
                                                                                               {
                                                                                                 fieldName := FROM_E,
                                                                                                 addressField := p_sip.request.msgHeader.toField.addressField,
                                                                                                 fromParams := *
                                                                                               }, //p_sip.request.msgHeader.fromField,
                                                                                               {
                                                                                                 fieldName := TO_E,
                                                                                                 addressField := p_sip.request.msgHeader.fromField.addressField,
                                                                                                 toParams := *
                                                                                               } //p_sip.request.msgHeader.toField
                                                                                               )) 
                                                         },
                                                         { mw_SipRequest(mw_BYE_Request_Base) },
                                                         { 0, omit },
                                                         "TP_MW_IBCF_BYE_01 - Request",
                                                         true,
                                                         p_checkMessage
                                                         )
                                        );
                p_monitorCompRef.done;
                // Retrieve messge
                f_getSipMsgFromMonitor(p_monitorCompRef, p_sip);
            }
        } // End of function f_mtc_check_TP_MW_IBCF_BYE_01

    } // End of group imsBye
    
    group ims200OkBye {
        
        /**
         * @desc Verify that the E-CSCF successfully processes a 200 (OK) BYE (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
         * }
         * 
         * Expected behaviour
         * ensure that {
         *     when {
         *         the IMS_E_CSCF_A entity sends a 200_Ok 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,
         *             not PChargingVector,
         *             not PChargingFunctionAddresses,
         *             not PPreferredIdentity
         *         to the IMS_IBCF_A entity
         *     }
         *     then {
         *         the IMS_E_CSCF_A entity sends a 200_Ok 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,
         *             not PChargingVector,
         *             not PChargingFunctionAddresses,
         *             not PPreferredIdentity
         *         to the IMS_P_CSCF_A entity
         *         }
         *     }
         */
        function f_mtc_check_TP_MW_IBCF_200OK_BYE_01(
                                                      in SipInterfaceMonitor p_monitorCompRef,
                                                      in boolean p_checkMessage := false,
                                                      in SipMessage p_sip
                                                      ) runs on ImsTestCoordinator {
            if (isvalue(p_monitorCompRef)) {
                // Check the 200 OK BYE
                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,
                                                                                   p_sip.request.msgHeader.toField
                                                                                   )) 
                                                         },
                                                         { mw_SipResponse(mw_200OK_Base) },
                                                         { 0, omit },
                                                         "TP_MW_IBCF_200OK_BYE_01",
                                                         false,
                                                         p_checkMessage
                                                         )
                                        );
                p_monitorCompRef.done;
            }
        } // End of function f_mtc_check_TP_MW_IBCF_200OK_BYE_01

    } // End of group ims200OkBye

} // End of module AtsImsIot_TP_behavior_MW_EB
 No newline at end of file
+138 −0
Original line number Diff line number Diff line
@@ -430,4 +430,142 @@ module AtsImsIot_TP_behavior_MW_EC {
        
    } // End of group imsAck
    
    group imsBye {
        
        /**
         * @desc Verify that the P-CSCF successfully processes a BYE (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
         *     the UE_A entity previouslyEstablishedCallWith the UE_B
         * }
         * 
         * Expected behaviour
         * ensure that {
         *     when {
         *         the IMS_P_CSCF_A entity receives a BYE 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
         *     }
         *     then {
         *         the IMS_P_CSCF_A entity sends a BYE 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 IMS_E_CSCF_A entity
         *         }
         *     }
         */
        function f_mtc_check_TP_MW_ECSCF_BYE_01(
                                                in SipInterfaceMonitor p_monitorCompRef,
                                                in boolean p_checkMessage := false,
                                                inout SipMessage p_sip
                                                ) runs on ImsTestCoordinator {
            if (isvalue(p_monitorCompRef)) {
                // Check the BYE
                p_monitorCompRef.start(
                                       f_Iot_Sip_receive(
                                                         { mw_SipRequest(mw_TP_MW_ECSCF_BYE_01(
                                                                                               p_sip.request.msgHeader.callId,
                                                                                               -, // New CSeq
                                                                                               -, // FIXME To be set
                                                                                               p_sip.request.msgHeader.fromField,
                                                                                               p_sip.request.msgHeader.toField
                                                                                               )) 
                                                         },
                                                         { mw_SipRequest(mw_BYE_Request_Base) },
                                                         { 0, omit },
                                                         "TP_MW_ECSCF_BYE_01 - Request",
                                                         true,
                                                         p_checkMessage
                                                         )
                                        );
                p_monitorCompRef.done;
                // Retrieve messge
                f_getSipMsgFromMonitor(p_monitorCompRef, p_sip);
            }
        } // End of function f_mtc_check_TP_MW_ECSCF_BYE_01

    } // End of group imsBye
    
    group ims200OkBye {
        
        /**
         * @desc Verify that the P-CSCF successfully processes a 200 (OK) BYE (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
         * }
         * 
         * Expected behaviour
         * ensure that {
         *     when {
         *         the IMS_P_CSCF_A entity sends a 200_Ok 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,
         *             not PChargingVector,
         *             not PChargingFunctionAddresses,
         *             not PPreferredIdentity
         *             ;
         *         to the IMS_E_CSCF_A entity
         *     }
         *     then {
         *         the IMS_P_CSCF_A entity sends a 200_Ok 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,
         *             not PChargingVector,
         *             not PChargingFunctionAddresses,
         *             not PPreferredIdentity
         *             ;
         *         to the UE_A entity
         *         }
         *     }
         */
        function f_mtc_check_TP_MW_ECSCF_200OK_BYE_01(
                                                      in SipInterfaceMonitor p_monitorCompRef,
                                                      in boolean p_checkMessage := false,
                                                      in SipMessage p_sip
                                                      ) runs on ImsTestCoordinator {
            if (isvalue(p_monitorCompRef)) {
                // Check the 200 OK BYE
                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,
                                                                                   p_sip.request.msgHeader.toField
                                                                                   )) 
                                                         },
                                                         { mw_SipResponse(mw_200OK_Base) },
                                                         { 0, omit },
                                                         "TP_MW_ECSCF_200OK_BYE_01",
                                                         false,
                                                         p_checkMessage
                                                         )
                                        );
                p_monitorCompRef.done;
            }
        } // End of function f_mtc_check_TP_MW_ECSCF_200OK_BYE_01

    } // End of group ims200OkBye
    
} // End of module AtsImsIot_TP_behavior_MW_EC
 No newline at end of file
+54 −0
Original line number Diff line number Diff line
@@ -1027,6 +1027,33 @@ module AtsImsIot_Templates_MW {
            }
        } // End of template mw_TP_MW_ECSCF_ACK_02

        template (present) BYE_Request mw_TP_MW_ECSCF_BYE_01( // TODO To be enforced
                                                             template (present) CallId p_callId := ?,
                                                             template (present) CSeq p_cSeq := ?,
                                                             template (present) SipUrl p_bye_uri := ?,
                                                             template (present) From p_from := ?,
                                                             template (present) To p_to := ?
                                                             ) modifies mw_BYE_Request_Base := {
            requestLine := {
                method := BYE_E,
                requestUri := p_bye_uri, // @TODO
                sipVersion := c_sipNameVersion
            },
            msgHeader := {
                callId := p_callId,
                fromField := p_from,
                toField := p_to,
                route := {
                    fieldName := ROUTE_E,
                    routeBody := {
                        *, 
                        ?,
                        *
                    }
                }
            }
        } // End of template mw_TP_MW_PCSCF_BYE_01
        
    }

    group g_ibcf {
@@ -1134,6 +1161,33 @@ module AtsImsIot_Templates_MW {
            }
        } // End of template mw_TP_MW_IBCF_ACK_01

        template (present) BYE_Request mw_TP_MW_IBCF_BYE_01( // TODO To be enforced
                                                             template (present) CallId p_callId := ?,
                                                             template (present) CSeq p_cSeq := ?,
                                                             template (present) SipUrl p_bye_uri := ?,
                                                             template (present) From p_from := ?,
                                                             template (present) To p_to := ?
                                                             ) modifies mw_BYE_Request_Base := {
            requestLine := {
                method := BYE_E,
                requestUri := p_bye_uri, // @TODO
                sipVersion := c_sipNameVersion
            },
            msgHeader := {
                callId := p_callId,
                fromField := p_from,
                toField := p_to,
                route := {
                    fieldName := ROUTE_E,
                    routeBody := {
                        *, 
                        ?,
                        *
                    }
                }
            }
        } // End of template mw_TP_MW_IBCF_BYE_01
        
    }

} // End of module AtsImsIot_Templates_MW 
 No newline at end of file
+1 −0
Original line number Diff line number Diff line
@@ -52,6 +52,7 @@ module AtsImsIot_TestConfiguration {
		const charstring c_trigger_B := "User B";
		//* eut trigger name User A
		const charstring c_userUE_A := "User A";
		const charstring c_userUE_A_emergency := "User A Emergency";
  		const charstring c_userUE_A2 := "User A2";
		//* eut trigger name User B
		const charstring c_userUE_B := "User B";
Loading