Commit dfdd338f authored by Rennoch's avatar Rennoch
Browse files

Merge branch 'STF574' of https://forge.etsi.org/rep/vxlte/vxlte-iop into STF574

parents eb0f84f1 b53dd764
Loading
Loading
Loading
Loading

.gitignore

deleted100644 → 0
+0 −7
Original line number Diff line number Diff line
.project
.settings
.classpath
.metadata

/ttcn3build/
/ttcn/LibSip/xsd/*.ttcn3view
+46 −0
Original line number Diff line number Diff line
@@ -83,6 +83,44 @@ module AtsImsIot_Diameter_Templates {
                aVP_Header := mw_aVP_Header_Vbit0Mbit1(c_cC_Request_Type_AVP_Code),
                aVP_Data := p_avpData
            }
            
            template QoS_Information_AVP mw_qoS_Information :=
            {
                AVP_Header                        := ?,
                QoS_Class_Identifier_AVP          := *,
                Max_Requested_Bandwidth_UL_AVP    := *,
                Max_Requested_Bandwidth_DL_AVP    := *,
                Guaranteed_Bitrate_UL_AVP         := *,
                Guaranteed_Bitrate_DL_AVP         := *,
                Bearer_Identifier_AVP             := ?,
                Allocation_Retention_Priority_AVP := *,
                APN_Aggregate_Max_Bitrate_UL_AVP  := ?,
                APN_Aggregate_Max_Bitrate_DL_AVP  := ?,
                AVP_Type                          := *
            }
            
            template Default_EPS_Bearer_QoS_AVP mw_default_EPS_Bearer_QoS_Class_5 :=
            {
                AVP_Header                        := ?,
                QoS_Class_Identifier_AVP          := mw_QoS_Class_Identifier,
                Allocation_Retention_Priority_AVP := mw_allocation_Retention_Priority,
                AVP_Type                          := *
            }
            
            template Allocation_Retention_Priority_AVP mw_allocation_Retention_Priority :=
            {
                AVP_Header                        := ?,
                Priority_Level_AVP                := ?,
                Pre_emption_Capability_AVP        := ?,
                Pre_emption_Vulnerability_AVP     := ?
            }
            
            template QoS_Class_Identifier_AVP mw_QoS_Class_Identifier :=
            {
                AVP_Header                        := ?,
                QoS_Class_Identifier              := QCI_5_E
            }
            
        } //end group GxHeaderFields
    } //end DiameterHeaderFields
    group DiameterTemplates {
@@ -143,6 +181,14 @@ module AtsImsIot_Diameter_Templates {
                        result_Code := mw_resultCode(mw_resultCode_diameterSuccess)
                    }
                }
                
                template CCA_MSG mw_CCA_qosInformation_class5 modifies mw_CCA_dummy := {
                    cCA_Body :={
                        result_Code            := mw_resultCode(mw_resultCode_diameterSuccess),
                        qoS_Information        := {mw_qoS_Information},
                        default_EPS_Bearer_QoS := mw_default_EPS_Bearer_QoS_Class_5
                    }
                }
            }// end group GxRequestMessageTemplates
        }//end group GxMessageTemplates
    } // end group DiameterTemplates
+118 −0
Original line number Diff line number Diff line
@@ -35,6 +35,16 @@ group g_PCRF {
     * @param p_monitorCompRef Reference to monitor component
     * <pre>
     * Test objective  "Verify that IUT when receives CC-Request for PCC Rules sends a CC-Answer in case of detachment procedure."
     *
     * <pre>
     * 
     * Config Id CF_VxLTE_INT
     * 
     * Initial conditions with {
     *     the UE_A entity isNotAttachedTo the EPC_A and
     *     the UE_A entity isNotRegisteredTo the IMS_A
     * }
     * 
     * ensure that {
     *     when {
     *         the EPC_PGW_A entity sends an CCR containing
@@ -72,6 +82,114 @@ group g_PCRF {
    } // End of function f_mtc_check_TP_GX_PCRF_CCA_02
    

    /**
     * Starts monitor component behavior for TP_GX_PCRF_CCA_03
     * @param p_monitorCompRef Reference to monitor component
     * <pre>
     * Test objective  "Verify that IUT when receives CC-Request for PCC Rules sends a CC-Answer in case of detachment procedure."
     * <pre>
     * 
     * Config Id CF_VxLTE_INT
     * 
     * Initial conditions with {
     *     the UE_A entity isAttachedTo the EPC_A and
     *     the UE_A entity isNotRegisteredTo the IMS_A
     * }
     *
     * ensure that {
     *     when {
     *         the EPC_PGW_A entity sends an CCR containing
     *             CC_Request_Type_AVP
     *                 indicating value TERMINATION_REQUEST
     *         ;
     *         to the EPC_PCRF_A entity
     *     }
     *     then {
     *         the EPC_PCRF_A entity sends the CCA containing
     *             Result_Code_AVP
     *                 indicating value DIAMETER_SUCCESS
     *         ;
     *         to the EPC_PGW_A entity
     *     }
     * }  
     * </pre>
     * @see TS 103 653-1 clause 7.7
     */
    function f_mtc_check_TP_GX_PCRF_CCA_03(
        DiameterInterfaceMonitor p_monitorCompRef
    ) runs on ImsTestCoordinator {
        p_monitorCompRef.start (
            f_receiveDiameterMsg ( { cCR_MSG := mw_CCR_RequestType(TERMINATION_REQUEST_E) }, 
                                   "TP_RX_PCRF_CCA_03 - CC Request",
                                   true )
        );
        p_monitorCompRef.done;
        p_monitorCompRef.start (
            f_receiveDiameterMsg ( { cCA_MSG := mw_CCA_resultCode },
                                   "TP_RX_PCRF_CCA_03 - CC Answer",
                                   true )
        );
        p_monitorCompRef.done;
    } // End of function f_mtc_check_TP_GX_PCRF_CCA_03
    

    /**
     * Starts monitor component behavior for TP_GX_PCRF_CCA_04
     * @param p_monitorCompRef Reference to monitor component
     * <pre>
     * Test objective  "Verify that IUT receives CC-Answer from home PCRF and it sends CC-Answer towards home P-GW."
     * 
     * Reference 
            "TS 129 212 (V15.3.0) [9], clauses 4.5.1 (item 1) and 4a.5.1 (item 1)"
     * 
     * Config Id CF_VxLTE_RMI
     * 
     * Initial conditions with {
     *     the UE_A entity isNotAttachedTo the EPC_B and
     *     the UE_A entity isNotRegisteredTo the IMS_A
     * }
     *
     * ensure that {
     *     when {
     *         the EPC_PCRF_A entity sends an CCA
     *         to the EPC_PCRF_B entity
     *     }
     *     then {
     *         the EPC_PCRF_B entity sends the CCA containing
     *             Result_Code_AVP
     *                 indicating value DIAMETER_SUCCESS
     *             QoS_Information_AVP containing
     *                 APN_Aggregate_Max_Requested_Bandwidth_UL_AVP
     *                 APN_Aggregate_Max_Requested_Bandwidth_DL_AVP
     *                 Bearer_Identifier_AVP;,
     *             Default_EPS_Bearer_QoS_AVP containing
     *                 QoS_Class_Identifier_AVP
     *                     indicating value '5'
     *                 Allocation_Retention_Priority_AVP containing
     *                     Priority_Level_AVP
     *                     Pre_emption_Capablity_AVP
     *                     Pre_emption_Vulnerability_AVP
     *                 ;
     *             ;
     *         ;
     *         to the EPC_PGW_B entity
     *     }
     * }  
     * </pre>
     * @see TS 103 653-1 clause 7.7
     */
    function f_mtc_check_TP_GX_PCRF_CCA_04(
        DiameterInterfaceMonitor p_monitorCompRef
    ) runs on ImsTestCoordinator {
        p_monitorCompRef.start (
            f_receiveDiameterMsg ( { cCA_MSG := mw_CCA_qosInformation_class5 },
                                   "TP_RX_PCRF_CCA_04 - CC Answer",
                                   true )
        );
        p_monitorCompRef.done;
    } // End of function f_mtc_check_TP_GX_PCRF_CCA_04


} // end group g_PCRF


+1141 −364

File changed.

Preview size limit exceeded, changes collapsed.

+1 −0
Original line number Diff line number Diff line
@@ -84,6 +84,7 @@ module LibIot_TypesAndValues {
	 */ 
	type record MonitorInterfaceInfo {
	   charstring interfaceName,
	   boolean available optional,//or would be better MonitorEnable
	   InterfaceInfo interfaceInfo	
	}