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

Review sequence for TD_VoLTE_ECO_INT_INI_01

parent d174e1b9
Loading
Loading
Loading
Loading
+61 −80

File changed.

Preview size limit exceeded, changes collapsed.

+50 −53
Original line number Diff line number Diff line
@@ -32,45 +32,42 @@ module AtsImsIot_TP_behavior_MM {
    group imsInvite {
        
        /**
         * @desc Verify that the E-CSCF successfully processes an initial INVITE (Originating Leg)..
         * @desc "Verify that the E-CSCF successfully processes an initial INVITE from the P-CSCF and routes the request to the PSAP in the IM CN subsystem of own network."
        * Reference 
        *     "ETSI TS 124 229 [1], Clauses 5.11.2"
        * Config Id CF_VxLTE_INT
        * PICS Selection NONE
        * 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
        *     the IMS_E_CSCF entity supportsRoutingTo the IM_CN
        * }
         * 
        * Expected behaviour
        *     ensure that {
        *         when {
         *         the IMS_E_CSCF_A entity receives an INVITE containing
        *             the IMS_E_CSCF entity receives an INVITE containing
        *                 From indicating value PX_UE_A_SIP_URI,
         *             To indicating value PX_PSAP_SIP_URI,
        *                 To indicating value PX_SIP_EMERGENCY_SERVICE_URN,
        *                 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" 
        *                 Via indicating value PX_P_CSCF_A_VIA,
        *                 Route indicating value PX_E_CSCF_SERVICE_ROUTE, // 5.2.10.3 1B) option is assumed
        *                 PAssertedIdentity,
        *                 MessageBody;
        *             from the IMS_P_CSCF_A entity
        *         }
        *         then {
         *         the IMS_IBCF_A entity sends an INVITE containing
        *             the IMS_E_CSCF entity sends an INVITE containing
        *                 From indicating value PX_UE_A_SIP_URI,
         *             To indicating value PX_PSAP_SIP_URI,
        *                 To indicating value PX_SIP_EMERGENCY_SERVICE_URN,
        *                 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
        *                 Via indicating value PX_E_CSCF_VIA,
        *                 Route indicating value PX_PSAP_SERVICE_ROUTE_IM_CN,
        *                 RecordRoute PX_E_CSCF_SERVICE_ROUTE,
        *                 PChargingVector,
        *                 MessageBody;
        *              to the IM_CN entity
        *         }
        *     }
         */
        function f_mtc_check_TP_MM_PSAP_INVITE_01(
        function f_mtc_check_TP_MM_ECSCF_ECO_INVITE_01(
                                                   in SipInterfaceMonitor p_monitorCompRef,
                                                   in boolean p_checkMessage := false,
                                                   out SipMessage p_sip
@@ -100,7 +97,7 @@ module AtsImsIot_TP_behavior_MM {
                f_getSipMsgFromMonitor(p_monitorCompRef, p_sip);
                log("##### p_sip: ", p_sip);
            }
        } // End of function f_mtc_check_TP_MM_PSAP_INVITE_01
        } // End of function f_mtc_check_TP_MM_ECSCF_ECO_INVITE_01

    } // End of group imsInvite

@@ -127,7 +124,7 @@ module AtsImsIot_TP_behavior_MM {
         *         }
         *     }
         */
        function f_mtc_check_TP_MM_PSAP_100Trying_01(
        function f_mtc_check_TP_MM_ECSCF_ECO_100Trying_01(
                                                      in SipInterfaceMonitor p_monitorCompRef,
                                                      in boolean p_checkMessage := false,
                                                      in SipMessage p_sip
@@ -151,7 +148,7 @@ module AtsImsIot_TP_behavior_MM {
                                        );
                p_monitorCompRef.done;
            }
        } // End of function f_mtc_check_TP_MM_PSAP_100Trying_01
        } // End of function f_mtc_check_TP_MM_ECSCF_ECO_100Trying_01
        
    } // End of group ims100Trying

@@ -190,7 +187,7 @@ module AtsImsIot_TP_behavior_MM {
         *         }
         *     }
         */
        function f_mtc_check_TP_MM_PSAP_180RINGING_01(
        function f_mtc_check_TP_MM_ECSCF_ECO_180RINGING_01(
                                                       in SipInterfaceMonitor p_monitorCompRef,
                                                       in boolean p_checkMessage := false,
                                                       in SipMessage p_sip
@@ -216,7 +213,7 @@ module AtsImsIot_TP_behavior_MM {
                                        );
                p_monitorCompRef.done;
            }
        } // End of function f_mtc_check_TP_MM_PSAP_180RINGING_01
        } // End of function f_mtc_check_TP_MM_ECSCF_ECO_180RINGING_01
        
    } // End of group ims180Ringing

@@ -255,7 +252,7 @@ module AtsImsIot_TP_behavior_MM {
         *         }
         *     }
         */
        function f_mtc_check_TP_MM_PSAP_183SESSION_PROGRESS_01(
        function f_mtc_check_TP_MM_ECSCF_ECO_183SESSION_PROGRESS_01(
                                                                in SipInterfaceMonitor p_monitorCompRef,
                                                                in boolean p_checkMessage := false,
                                                                in SipMessage p_sip
@@ -279,7 +276,7 @@ module AtsImsIot_TP_behavior_MM {
                                        );
                p_monitorCompRef.done;
            }
        } // End of function f_mtc_check_TP_MM_PSAP_183SESSION_PROGRESS_01
        } // End of function f_mtc_check_TP_MM_ECSCF_ECO_183SESSION_PROGRESS_01

    } // End of group ims183SessionProgress
    
@@ -324,7 +321,7 @@ module AtsImsIot_TP_behavior_MM {
         *         }
         *     }
         */
        function f_mtc_check_TP_MM_PSAP_200OK_01(
        function f_mtc_check_TP_MM_ECSCF_ECO_200OK_01(
                                                  in SipInterfaceMonitor p_monitorCompRef,
                                                  in boolean p_checkMessage := false,
                                                  in SipMessage p_sip
@@ -356,7 +353,7 @@ module AtsImsIot_TP_behavior_MM {
                p_monitorCompRef.done;
                
            }
        } // End of function f_mtc_check_TP_MM_PSAP_200OK_01
        } // End of function f_mtc_check_TP_MM_ECSCF_ECO_200OK_01
        
    } // End of group ims200Ok
    
@@ -395,7 +392,7 @@ module AtsImsIot_TP_behavior_MM {
         *         }
         *     }
         */
        function f_mtc_check_TP_MM_PSAP_ACK_01(
        function f_mtc_check_TP_MM_ECSCF_ECO_ACK_01(
                                                in SipInterfaceMonitor p_monitorCompRef,
                                                in boolean p_checkMessage := false,
                                                in SipMessage p_sip
@@ -421,7 +418,7 @@ module AtsImsIot_TP_behavior_MM {
                                        );
                p_monitorCompRef.done;
            }
        } // End of function f_mtc_check_TP_MM_PSAP_ACK_01
        } // End of function f_mtc_check_TP_MM_ECSCF_ECO_ACK_01
        
    } // End of group imsAck
    
@@ -461,7 +458,7 @@ module AtsImsIot_TP_behavior_MM {
         *         }
         *     }
         */
        function f_mtc_check_TP_MM_PSAP_BYE_01(
        function f_mtc_check_TP_MM_ECSCF_ECO_BYE_01(
                                               in SipInterfaceMonitor p_monitorCompRef,
                                               in boolean p_checkMessage := false,
                                               inout SipMessage p_sip
@@ -497,7 +494,7 @@ module AtsImsIot_TP_behavior_MM {
                // Retrieve messge
                f_getSipMsgFromMonitor(p_monitorCompRef, p_sip);
            }
        } // End of function f_mtc_check_TP_MM_PSAP_BYE_01
        } // End of function f_mtc_check_TP_MM_ECSCF_ECO_BYE_01

    } // End of group imsBye
    
@@ -540,7 +537,7 @@ module AtsImsIot_TP_behavior_MM {
         *         }
         *     }
         */
        function f_mtc_check_TP_MM_PSAP_200OK_BYE_01(
        function f_mtc_check_TP_MM_ECSCF_ECO_200OK_BYE_01(
                                                      in SipInterfaceMonitor p_monitorCompRef,
                                                      in boolean p_checkMessage := false,
                                                      in SipMessage p_sip
@@ -565,7 +562,7 @@ module AtsImsIot_TP_behavior_MM {
                                        );
                p_monitorCompRef.done;
            }
        } // End of function f_mtc_check_TP_MM_PSAP_200OK_BYE_01
        } // End of function f_mtc_check_TP_MM_ECSCF_ECO_200OK_BYE_01

    } // End of group ims200OkBye

+121 −55
Original line number Diff line number Diff line
@@ -33,49 +33,41 @@ module AtsImsIot_TP_behavior_MW_EC {
    group imsInvite {
        
        /**
         * @desc Verify that the P-CSCF successfully processes an initial INVITE (Originating Leg)..
         * @desc "Verify that the P-CSCF successfully processes an initial INVITE from an unregistered UE."
         * Reference 
         *     "ETSI TS 124 229 [1], Clauses 5.2.10.2 and 5.2.6.3.3"
         * Config Id CF_VxLTE_INT
         * PICS Selection NONE
         * 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
         *    the UE_A entity not isRegisteredTo the IMS_A and
         *     the UE_A entity not isEmergencyRegisteredTo the IMS_A
         * }
         * 
         * Expected behaviour
         *     ensure that {
         *         when {
         *             the IMS_P_CSCF_A entity receives an INVITE containing
         *             From indicating value PX_UE_A_SIP_URI,
         *             To indicating value PX_PSAP_SIP_URI,
         *                 From indicating value "Anonymous",
         *                 To indicating value PX_SIP_EMERGENCY_SERVICE_URN,
         *                 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" 
         *                         ;
         *             ;;
         *                 MessageBody;
         *             from the UE_A entity
         *         }
         *         then {
         *             the IMS_P_CSCF_A entity sends an INVITE containing
         *             From indicating value PX_UE_A_SIP_URI,
         *             To indicating value PX_PSAP_SIP_URI,
         *                 From indicating value "Anonymous",
         *                 To indicating value PX_SIP_EMERGENCY_SERVICE_URN,
         *                 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 IMS_EBCF_A entity
         *                 Via indicating value PX_P_CSCF_A_VIA,
         *                 Route indicating value PX_E_CSCF_SERVICE_ROUTE,
         *                 MessageBody;
         *              to the IMS_E_CSCF entity
         *         }
         *     }
         */
        function f_mtc_check_TP_MW_ECSCF_INVITE_01(
        function f_mtc_check_TP_MW_PCSCF_ECO_INVITE_01(
                                                       in SipInterfaceMonitor p_monitorCompRef,
                                                       in boolean p_checkMessage := false,
                                                       out SipMessage p_sip
@@ -105,7 +97,81 @@ module AtsImsIot_TP_behavior_MW_EC {
                f_getSipMsgFromMonitor(p_monitorCompRef, p_sip);
                log("##### p_sip: ", p_sip);
            }
        } // End of function f_mtc_check_TP_MW_ECSCF_INVITE_01
        } // End of function f_mtc_check_TP_MW_PCSCF_ECO_INVITE_01

        /**
         * @desc "Verify that the P-CSCF successfully processes an initial INVITE from an registered UE."
         * Reference 
         *     "ETSI TS 124 229 [1], Clauses 5.2.10.3 and 5.2.6.3.3"
         * Config Id CF_VxLTE_INT
         * PICS Selection NONE
         * Initial conditions with {
         *     the UE_A entity isAttachedTo the EPC_A and
         *     the UE_A entity isEmergencyRegisteredTo the IMS_A
         * }
         * Expected behaviour
         *     ensure that {
         *         when {
         *             the IMS_P_CSCF_A entity receives an INVITE containing
         *                 From indicating value PX_UE_A_SIP_URI,
         *                 To indicating value PX_SIP_EMERGENCY_SERVICE_URN,
         *                 CallId indicating value PX_UE_A_CALLID,
         *                 Via indicating value PX_UE_A_VIA,
         *                 Route indicating value PX_UE_A_SERVICE_ROUTE,
         *                 PPreferredIdentity, // one or two instances
         *                 MessageBody;
         *             from the UE_A entity
         *         }
         *         then {
         *             the IMS_P_CSCF_A entity sends an INVITE containing
         *                 From indicating valuePX_UE_A_SIP_URI,
         *                 To indicating value PX_SIP_EMERGENCY_SERVICE_URN,
         *                 CallId indicating value PX_UE_A_CALLID,
         *                 Via indicating value PX_P_CSCF_A_VIA,
         *                 Route indicating value PX_E_CSCF_SERVICE_ROUTE, // 5.2.10.3 1B) option is assumed
         *                 PAssertedIdentity,
         *                 MessageBody;
         *              to the IMS_E_CSCF entity
         *         }
         *     }
         */
        function f_mtc_check_TP_MW_PCSCF_ECO_INVITE_02(
                                                       in SipInterfaceMonitor p_monitorCompRef,
                                                       in boolean p_checkMessage := false,
                                                       out SipMessage p_sip
                                                       ) runs on ImsTestCoordinator {
            if (isvalue(p_monitorCompRef)) {
                var ImsUserInfo v_userInfoA := f_getTelUserId(PX_EUT_A_EMERGENCY);
                var ImsUserInfo v_psapInfo := f_getSipUserId(PX_PSAP);
                
                // Check the INVITE
                p_monitorCompRef.start(
                                       f_Iot_Sip_receive(
                                                        { mw_SipRequest(mw_TP_MW_ECSCF_INVITE_02(
                                                                                                 -, // FIXME Set expected value
                                                                                                 (
                                                                                                   mw_From_NameAddr_SipUrl({quotedString:=v_userInfoB.publicId}, v_userInfoB.publicId, v_userInfoB.domain),
                                                                                                   mw_From_AddrUnion_TelUrl(v_userInfoB.publicId)
                                                                                                 ),
                                                                                                 (
                                                                                                   mw_To_NameAddr_SipUrl({quotedString:=v_userInfoA.publicId}, v_userInfoA.publicId/*, v_userInfoA.domain*/),
                                                                                                   mw_To_AddrUnion_TelUrl(-)//v_userInfoA.publicId
                                                                                                 )
                                                                                                 ))
                                                        },
                                                        { mw_SipRequest(mw_INVITE_Request_Base) },
                                                        {0, omit},
                                                        "TP_MW_PCSCF_INVITE_02 - Request",
                                                        true,
                                                        p_checkMessage
                                                        )
                                       );
                p_monitorCompRef.done;
                // Retrieve messge
                f_getSipMsgFromMonitor(p_monitorCompRef, p_sip);
                log("##### p_sip: ", p_sip);
            }
        } // End of function f_mtc_check_TP_MW_PCSCF_ECO_INVITE_02

    } // End of group imsInvite

@@ -132,7 +198,7 @@ module AtsImsIot_TP_behavior_MW_EC {
         *         }
         *     }
         */
        function f_mtc_check_TP_MW_ECSCF_100Trying_01(
        function f_mtc_check_TP_MW_PCSCF_ECO_100Trying_01(
                                                      in SipInterfaceMonitor p_monitorCompRef,
                                                      in boolean p_checkMessage := false,
                                                      in SipMessage p_sip
@@ -156,7 +222,7 @@ module AtsImsIot_TP_behavior_MW_EC {
                                        );
                p_monitorCompRef.done;
            }
        } // End of function f_mtc_check_TP_MW_ECSCF_100Trying_01
        } // End of function f_mtc_check_TP_MW_PCSCF_ECO_100Trying_01
        
    } // End of group ims100Trying
   
@@ -195,7 +261,7 @@ module AtsImsIot_TP_behavior_MW_EC {
         *         }
         *     }
         */
        function f_mtc_check_TP_MW_ECSCF_180RINGING_01(
        function f_mtc_check_TP_MW_PCSCF_ECO_180RINGING_01(
                                                       in SipInterfaceMonitor p_monitorCompRef,
                                                       in boolean p_checkMessage := false,
                                                       in SipMessage p_sip
@@ -221,7 +287,7 @@ module AtsImsIot_TP_behavior_MW_EC {
                                        );
                p_monitorCompRef.done;
            }
        } // End of function f_mtc_check_TP_MW_ECSCF_180RINGING_01
        } // End of function f_mtc_check_TP_MW_PCSCF_ECO_180RINGING_01
        
    } // End of group ims180Ringing
    
@@ -260,7 +326,7 @@ module AtsImsIot_TP_behavior_MW_EC {
         *         }
         *     }
         */
        function f_mtc_check_TP_MW_ECSCF_183SESSION_PROGRESS_01(
        function f_mtc_check_TP_MW_PCSCF_ECO_183SESSION_PROGRESS_01(
                                                                in SipInterfaceMonitor p_monitorCompRef,
                                                                in boolean p_checkMessage := false,
                                                                in SipMessage p_sip
@@ -284,7 +350,7 @@ module AtsImsIot_TP_behavior_MW_EC {
                                        );
                p_monitorCompRef.done;
            }
        } // End of function f_mtc_check_TP_MW_ECSCF_183SESSION_PROGRESS_01
        } // End of function f_mtc_check_TP_MW_PCSCF_ECO_183SESSION_PROGRESS_01

    } // End of group ims183SessionProgress
    
@@ -329,7 +395,7 @@ module AtsImsIot_TP_behavior_MW_EC {
         *         }
         *     }
         */
        function f_mtc_check_TP_MW_ECSCF_200OK_01(
        function f_mtc_check_TP_MW_PCSCF_ECO_200OK_01(
                                                  in SipInterfaceMonitor p_monitorCompRef,
                                                  in boolean p_checkMessage := false,
                                                  in SipMessage p_sip
@@ -361,7 +427,7 @@ module AtsImsIot_TP_behavior_MW_EC {
                p_monitorCompRef.done;
                
            }
        } // End of function f_mtc_check_TP_MW_ECSCF_200OK_01
        } // End of function f_mtc_check_TP_MW_PCSCF_ECO_200OK_01
        
    } // End of group ims200Ok
    
@@ -400,7 +466,7 @@ module AtsImsIot_TP_behavior_MW_EC {
         *         }
         *     }
         */
        function f_mtc_check_TP_MW_ECSCF_ACK_01(
        function f_mtc_check_TP_MW_PCSCF_ECO_ACK_01(
                                                in SipInterfaceMonitor p_monitorCompRef,
                                                in boolean p_checkMessage := false,
                                                in SipMessage p_sip
@@ -426,7 +492,7 @@ module AtsImsIot_TP_behavior_MW_EC {
                                        );
                p_monitorCompRef.done;
            }
        } // End of function f_mtc_check_TP_MW_ECSCF_ACK_01
        } // End of function f_mtc_check_TP_MW_PCSCF_ECO_ACK_01
        
    } // End of group imsAck
    
@@ -466,7 +532,7 @@ module AtsImsIot_TP_behavior_MW_EC {
         *         }
         *     }
         */
        function f_mtc_check_TP_MW_ECSCF_BYE_01(
        function f_mtc_check_TP_MW_PCSCF_ECO_BYE_01(
                                                in SipInterfaceMonitor p_monitorCompRef,
                                                in boolean p_checkMessage := false,
                                                inout SipMessage p_sip
@@ -494,7 +560,7 @@ module AtsImsIot_TP_behavior_MW_EC {
                // Retrieve messge
                f_getSipMsgFromMonitor(p_monitorCompRef, p_sip);
            }
        } // End of function f_mtc_check_TP_MW_ECSCF_BYE_01
        } // End of function f_mtc_check_TP_MW_PCSCF_ECO_BYE_01

    } // End of group imsBye
    
@@ -539,7 +605,7 @@ module AtsImsIot_TP_behavior_MW_EC {
         *         }
         *     }
         */
        function f_mtc_check_TP_MW_ECSCF_200OK_BYE_01(
        function f_mtc_check_TP_MW_PCSCF_ECO_200OK_BYE_01(
                                                      in SipInterfaceMonitor p_monitorCompRef,
                                                      in boolean p_checkMessage := false,
                                                      in SipMessage p_sip
@@ -564,7 +630,7 @@ module AtsImsIot_TP_behavior_MW_EC {
                                        );
                p_monitorCompRef.done;
            }
        } // End of function f_mtc_check_TP_MW_ECSCF_200OK_BYE_01
        } // End of function f_mtc_check_TP_MW_PCSCF_ECO_200OK_BYE_01

    } // End of group ims200OkBye