Loading ttcn/AtsImsIot/AtsImsIot_Diameter_Templates.ttcn +58 −0 Original line number Diff line number Diff line Loading @@ -215,6 +215,18 @@ module AtsImsIot_Diameter_Templates { aVP_Data := p_avpData } template AF_Requested_Data_AVP mw_aF_Requested_Data(template (present) UInt32 p_avpData := ?) := { aVP_Header := mw_aVP_Header_any_Code(?), aVP_Data := p_avpData }; template Service_URN_AVP mw_service_URN(template (present) octetstring p_avpData := ?) := { aVP_Header := mw_aVP_Header_any_Code(c_service_URN_AVP_Code), aVP_Data := p_avpData }; } //end group RxHeaderFields group GxHeaderFields{ Loading Loading @@ -893,6 +905,27 @@ module AtsImsIot_Diameter_Templates { } } template AAR_MSG mw_AAR_AfRequestedData_ServiceUrn modifies mw_AAR_basic := { aAR_Body :={ //media_Component_Description := {mw_mediaComponentDescription_FlowStatusEnabled}, specific_Action := *, framed_IP_Address := ?, //framed_IPv6_Address := *, aF_Requested_Data := mw_aF_Requested_Data, service_URN := mw_service_URN } } template AAR_MSG mw_AAR_ServiceUrn modifies mw_AAR_basic := { aAR_Body :={ //media_Component_Description := {mw_mediaComponentDescription_FlowStatusEnabled}, specific_Action := *, framed_IP_Address := ?, //framed_IPv6_Address := *, service_URN := mw_service_URN } } template ASR_MSG mw_ASR_abortCause(template (present) Abort_Cause_Type p_avpData) modifies mw_ASR_basic := { aSR_Body :={ abort_cause := mw_abortCause(p_avpData) Loading Loading @@ -959,6 +992,31 @@ module AtsImsIot_Diameter_Templates { } } template AAA_MSG mw_AAA_resultCode_subscriptionId_userEquipmentInfo modifies mw_AAA_basic := { aAA_Body :={ result_Code := mw_resultCode(mw_resultCode_diameterSuccess), user_Equipment_Info := ?, subscription_Id_AVP := ? } } template AAA_MSG mw_AAA_resultCode_userEquipmentInfo modifies mw_AAA_basic := { aAA_Body :={ result_Code := mw_resultCode(mw_resultCode_diameterSuccess), user_Equipment_Info := ? } } template AAA_MSG mw_AAA_resultCode_subscriptionId modifies mw_AAA_basic := { aAA_Body :={ result_Code := mw_resultCode(mw_resultCode_diameterSuccess), subscription_Id_AVP := ? } } template ASA_MSG mw_ASA_resultCode modifies mw_ASA_basic := { aSA_Body :={ result_Code := mw_resultCode(mw_resultCode_diameterSuccess) Loading ttcn/AtsImsIot/AtsImsIot_Emergency.ttcn +7 −7 Original line number Diff line number Diff line Loading @@ -3407,12 +3407,12 @@ module AtsImsIot_Emergency { f_mtc_check_TP_GM_PCSCF_ECO_REGISTER_04(vc_vxlte_monitor_components.gmA); // Events 1, 8 //f_mtc_check_TP_RX_PCSCF_ECO_AAR_01(vc_vxlte_monitor_components.rx, true);// Event 2 //true because AAR repeated in next TP //f_mtc_check_TP_RX_PCRF_ECO_AAA_01(vc_vxlte_monitor_components.rx); // Event 3 f_mtc_check_TP_RX_PCSCF_ECO_AAR_01(vc_vxlte_monitor_components.rx, true);// Event 2 //true because AAR repeated in next TP f_mtc_check_TP_RX_PCRF_ECO_AAA_01(vc_vxlte_monitor_components.rx); // Event 3 //f_mtc_check_TP_MW_PCSCF_ECO_REGISTER_04(vc_vxlte_monitor_components.mwPI); // Event 4, 7 f_mtc_check_TP_MW_ICSCF_ECO_REGISTER_04(vc_vxlte_monitor_components.mwPI); // Event 4, 7 //f_mtc_check_TP_CX_HSS_ECO_UAA_03(f_getCxInterface(PX_DIAMETER_CX_SINGLE_INTERFACE));// Event 5, 6 f_mtc_check_TP_CX_HSS_UAA_03(f_getCxInterface(PX_DIAMETER_CX_SINGLE_INTERFACE));// Event 5, 6 // postamble f_PO_user_home_deregistration ( v_ueA ); Loading Loading @@ -3460,10 +3460,10 @@ module AtsImsIot_Emergency { f_mtc_check_TP_GM_PCSCF_ECO_REGISTER_05(vc_vxlte_monitor_components.gmA); // Events 1, 10 //f_mtc_check_TP_RX_PCSCF_ECO_AAR_01(vc_vxlte_monitor_components.rx, true);// Event 2 //true because AAR repeated in next TP //f_mtc_check_TP_RX_PCRF_ECO_AAA_01(vc_vxlte_monitor_components.rx); // Event 3 f_mtc_check_TP_RX_PCSCF_ECO_AAR_01(vc_vxlte_monitor_components.rx, true);// Event 2 //true because AAR repeated in next TP f_mtc_check_TP_RX_PCRF_ECO_AAA_01(vc_vxlte_monitor_components.rx); // Event 3 //f_mtc_check_TP_MW_PCSCF_ECO_REGISTER_05(vc_vxlte_monitor_components.mwPI); // Event 4, 9 f_mtc_check_TP_MW_ICSCF_ECO_REGISTER_05(vc_vxlte_monitor_components.mwPI); // Event 4, 9 f_mtc_check_TP_CX_HSS_UAA_03(f_getCxInterface(PX_DIAMETER_CX_SINGLE_INTERFACE));// Event 5, 6 Loading ttcn/AtsImsIot/AtsImsIot_TP_behavior_RX.ttcn +231 −0 Original line number Diff line number Diff line Loading @@ -194,6 +194,111 @@ group g_PCRF_AAA { } } // End of function f_mtc_check_TP_RX_PCRF_AAA_01 /** * Starts monitor component behavior for TP_RX_PCRF_ECO_AAA_01 * @param p_monitorCompRef Reference to monitor component * <pre> * Test objective "Verify that IUT after AA-Request is received due to provisioning of AF Signalling flow sends AA-Answer." * ensure that { * when { * the IMS_P_CSCF_A entity sends an AAR * to the EPC_PCRF_A entity * } * then { * the EPC_PCRF_A entity sends the AAA containing * Result_Code_AVP * indicating value DIAMETER_SUCCESS, * Acceptable_Service_Info_AVP containing * "one or more" Media_Component_Description_AVP containing * Media_Component_Number_AVP * indicating value 0, * Media_Sub_Component_AVP containing * Flow_Description_AVP * Flow_Usage_AVP * indicating value AF_SIGNALING, * Flow_Status_AVP * indicating value ENABLED, * AF_Signalling_Protocol_AVP * indicating value SIP * ; * ; * ;, * IP_CAN_AVP * RAT_Type_AVP * ; * to the IMS_P_CSCF_A entity * } * } * * ensure that { * when { * the IMS_P_CSCF_A entity sends an AAR * to the EPC_PCRF_A entity * } * then { * the EPC_PCRF_A entity sends the AAA containing * Result_Code_AVP * indicating value DIAMETER_SUCCESS * Subscription_Id_AVP containing * Subscription_Id_Type_AVP * indicating value END_USER_IMSI;, //or END_USERE_164 * "and/or" * User_Equipment_Info_AVP containing * User_Equipment_Info_Type * indicating value IMEISV, * User_Equipment_Info_Value;; * to the IMS_P_CSCF_A entity * } * </pre> * @see TS 103 653-1 clause 7.6 */ function f_mtc_check_TP_RX_PCRF_ECO_AAA_01( DiameterInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false, in boolean p_forward_to_mtc := false ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)){ var template DIAMETER_MSG mw_diameter_msg_pass := { aAR_MSG := mw_AAR_basic }; var template DIAMETER_MSG mw_diameter_msg_fail := { aAR_MSG := mw_AAR_dummy }; p_monitorCompRef.start ( f_Iot_Diameter_receive( { mw_diameter_msg_pass }, { mw_diameter_msg_fail }, {0, omit}, "TP_RX_PCRF_ECO_AAA_01 - AAR", p_forward_to_mtc, p_checkMessage ) ); p_monitorCompRef.done; mw_diameter_msg_pass := { aAA_MSG := (mw_AAA_resultCode_subscriptionId_userEquipmentInfo, mw_AAA_resultCode_userEquipmentInfo, mw_AAA_resultCode_subscriptionId) }; mw_diameter_msg_fail := { aAA_MSG := mw_AAA_basic }; p_monitorCompRef.start ( f_Iot_Diameter_receive( { mw_diameter_msg_pass }, { mw_diameter_msg_fail }, {0, omit}, "TP_RX_PCRF_ECO_AAA_01 - AAA", p_forward_to_mtc, p_checkMessage ) ); p_monitorCompRef.done; } } // End of function f_mtc_check_TP_RX_PCRF_ECO_AAA_01 /** * Starts monitor component behavior for TP_RX_PCRF_AAA_02 * @param p_monitorCompRef Reference to monitor component Loading Loading @@ -581,6 +686,70 @@ group g_PCSCF_AAR { } } // End of function f_mtc_check_TP_RX_PCSCF_AAR_01 /** * Starts monitor component behavior for TP_RX_PCSCF_ECO_AAR_01 * @param p_monitorCompRef Reference to monitor component * @param p_checkMessage indicate if the incomming message should only be checked (port.check) or consumed (port.receive). * The check operation allows read access to the top element of incoming port queues without removing the top element from the queue. * <pre> * Test objective "Verify that IUT after 2XX_Response on REGISTER sends an AA-Request due to provisioning of AF Signalling flow." * * <pre> * * Config Id CF_VxLTE_INT * * Initial conditions with { * the UE_A entity isNotAttachedTo the EPC_A and * the UE_A entity not isEmergencyRegisteredTo the IMS_A * } * * ensure that { * when { * the IMS_S_CSCF_A entity sends a 200_Response_REGISTER * to the IMS_P_CSCF_A entity * } * then { * the IMS_P_CSCF_A entity sends an AAR containing * Framed_IPv4_Address_AVP * indicating value "IPv4_Address of UE_A", * "or" Framed_IPv6_Address_AVP * indicating value "IPv6_Address of UE_A", * AF_Requested_Data_AVP * indicating value "EPC-level identities required", * Service_URN_AVP * indicating value "sos*"; * to the EPC_PCRF_A entity * } * } * </pre> * @see TS 103 795-1 clause 7.6 */ function f_mtc_check_TP_RX_PCSCF_ECO_AAR_01( DiameterInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false, in boolean p_forward_to_mtc := false ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)){ var template DIAMETER_MSG mw_diameter_msg_pass := { aAR_MSG := mw_AAR_AfRequestedData_ServiceUrn }; var template DIAMETER_MSG mw_diameter_msg_fail := { aAR_MSG := mw_AAR_basic }; p_monitorCompRef.start ( f_Iot_Diameter_receive( { mw_diameter_msg_pass }, { mw_diameter_msg_fail }, {0, omit}, "TP_RX_PCSCF_ECO_AAR_01 - AAR", p_forward_to_mtc, p_checkMessage ) ); p_monitorCompRef.done; } } // End of function f_mtc_check_TP_RX_PCSCF_ECO_AAR_01 /** * Starts monitor component behavior for TP_RX_PCSCF_AAR_02 * @param p_monitorCompRef Reference to monitor component Loading Loading @@ -638,6 +807,68 @@ group g_PCSCF_AAR { } } // End of function f_mtc_check_TP_RX_PCSCF_AAR_02 /** * Starts monitor component behavior for TP_RX_PCSCF_ECO_AAR_02 * @param p_monitorCompRef Reference to monitor component * @param p_checkMessage indicate if the incomming message should only be checked (port.check) or consumed (port.receive). * The check operation allows read access to the top element of incoming port queues without removing the top element from the queue. * <pre> * Test objective "Verify that IUT send AA-Request in case of emergency session establishment for originating side after INVITE is received." * * <pre> * * Config Id CF_VoLTE_INT_ES * * Initial conditions with { * the UE_A entity isNotAttachedTo the EPC_A and * the UE_A entity not isEmergencyRegisteredTo the IMS_A * } * * ensure that { * when { * the IMS_S_CSCF_A entity sends a 200_Response_REGISTER * to the IMS_P_CSCF_A entity * } * then { * the IMS_P_CSCF_A entity sends an AAR containing * Framed_IPv4_Address_AVP * indicating value "IPv4_Address of UE_A", * "or" Framed_IPv6_Address_AVP * indicating value "IPv6_Address of UE_A", * Service_URN_AVP * indicating value "sos*"; * to the EPC_PCRF_A entity * } * } * </pre> * @see TS 103 795-1 clause 7.6 */ function f_mtc_check_TP_RX_PCSCF_ECO_AAR_02( DiameterInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false, in boolean p_forward_to_mtc := false ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)){ var template DIAMETER_MSG mw_diameter_msg_pass := { aAR_MSG := mw_AAR_ServiceUrn }; var template DIAMETER_MSG mw_diameter_msg_fail := { aAR_MSG := mw_AAR_basic }; p_monitorCompRef.start ( f_Iot_Diameter_receive( { mw_diameter_msg_pass }, { mw_diameter_msg_fail }, {0, omit}, "TP_RX_PCSCF_ECO_AAR_02 - AAR", p_forward_to_mtc, p_checkMessage ) ); p_monitorCompRef.done; } } // End of function f_mtc_check_TP_RX_PCSCF_ECO_AAR_02 /** * Starts monitor component behavior for TP_RX_PCSCF_AAR_03 * @param p_monitorCompRef Reference to monitor component Loading Loading
ttcn/AtsImsIot/AtsImsIot_Diameter_Templates.ttcn +58 −0 Original line number Diff line number Diff line Loading @@ -215,6 +215,18 @@ module AtsImsIot_Diameter_Templates { aVP_Data := p_avpData } template AF_Requested_Data_AVP mw_aF_Requested_Data(template (present) UInt32 p_avpData := ?) := { aVP_Header := mw_aVP_Header_any_Code(?), aVP_Data := p_avpData }; template Service_URN_AVP mw_service_URN(template (present) octetstring p_avpData := ?) := { aVP_Header := mw_aVP_Header_any_Code(c_service_URN_AVP_Code), aVP_Data := p_avpData }; } //end group RxHeaderFields group GxHeaderFields{ Loading Loading @@ -893,6 +905,27 @@ module AtsImsIot_Diameter_Templates { } } template AAR_MSG mw_AAR_AfRequestedData_ServiceUrn modifies mw_AAR_basic := { aAR_Body :={ //media_Component_Description := {mw_mediaComponentDescription_FlowStatusEnabled}, specific_Action := *, framed_IP_Address := ?, //framed_IPv6_Address := *, aF_Requested_Data := mw_aF_Requested_Data, service_URN := mw_service_URN } } template AAR_MSG mw_AAR_ServiceUrn modifies mw_AAR_basic := { aAR_Body :={ //media_Component_Description := {mw_mediaComponentDescription_FlowStatusEnabled}, specific_Action := *, framed_IP_Address := ?, //framed_IPv6_Address := *, service_URN := mw_service_URN } } template ASR_MSG mw_ASR_abortCause(template (present) Abort_Cause_Type p_avpData) modifies mw_ASR_basic := { aSR_Body :={ abort_cause := mw_abortCause(p_avpData) Loading Loading @@ -959,6 +992,31 @@ module AtsImsIot_Diameter_Templates { } } template AAA_MSG mw_AAA_resultCode_subscriptionId_userEquipmentInfo modifies mw_AAA_basic := { aAA_Body :={ result_Code := mw_resultCode(mw_resultCode_diameterSuccess), user_Equipment_Info := ?, subscription_Id_AVP := ? } } template AAA_MSG mw_AAA_resultCode_userEquipmentInfo modifies mw_AAA_basic := { aAA_Body :={ result_Code := mw_resultCode(mw_resultCode_diameterSuccess), user_Equipment_Info := ? } } template AAA_MSG mw_AAA_resultCode_subscriptionId modifies mw_AAA_basic := { aAA_Body :={ result_Code := mw_resultCode(mw_resultCode_diameterSuccess), subscription_Id_AVP := ? } } template ASA_MSG mw_ASA_resultCode modifies mw_ASA_basic := { aSA_Body :={ result_Code := mw_resultCode(mw_resultCode_diameterSuccess) Loading
ttcn/AtsImsIot/AtsImsIot_Emergency.ttcn +7 −7 Original line number Diff line number Diff line Loading @@ -3407,12 +3407,12 @@ module AtsImsIot_Emergency { f_mtc_check_TP_GM_PCSCF_ECO_REGISTER_04(vc_vxlte_monitor_components.gmA); // Events 1, 8 //f_mtc_check_TP_RX_PCSCF_ECO_AAR_01(vc_vxlte_monitor_components.rx, true);// Event 2 //true because AAR repeated in next TP //f_mtc_check_TP_RX_PCRF_ECO_AAA_01(vc_vxlte_monitor_components.rx); // Event 3 f_mtc_check_TP_RX_PCSCF_ECO_AAR_01(vc_vxlte_monitor_components.rx, true);// Event 2 //true because AAR repeated in next TP f_mtc_check_TP_RX_PCRF_ECO_AAA_01(vc_vxlte_monitor_components.rx); // Event 3 //f_mtc_check_TP_MW_PCSCF_ECO_REGISTER_04(vc_vxlte_monitor_components.mwPI); // Event 4, 7 f_mtc_check_TP_MW_ICSCF_ECO_REGISTER_04(vc_vxlte_monitor_components.mwPI); // Event 4, 7 //f_mtc_check_TP_CX_HSS_ECO_UAA_03(f_getCxInterface(PX_DIAMETER_CX_SINGLE_INTERFACE));// Event 5, 6 f_mtc_check_TP_CX_HSS_UAA_03(f_getCxInterface(PX_DIAMETER_CX_SINGLE_INTERFACE));// Event 5, 6 // postamble f_PO_user_home_deregistration ( v_ueA ); Loading Loading @@ -3460,10 +3460,10 @@ module AtsImsIot_Emergency { f_mtc_check_TP_GM_PCSCF_ECO_REGISTER_05(vc_vxlte_monitor_components.gmA); // Events 1, 10 //f_mtc_check_TP_RX_PCSCF_ECO_AAR_01(vc_vxlte_monitor_components.rx, true);// Event 2 //true because AAR repeated in next TP //f_mtc_check_TP_RX_PCRF_ECO_AAA_01(vc_vxlte_monitor_components.rx); // Event 3 f_mtc_check_TP_RX_PCSCF_ECO_AAR_01(vc_vxlte_monitor_components.rx, true);// Event 2 //true because AAR repeated in next TP f_mtc_check_TP_RX_PCRF_ECO_AAA_01(vc_vxlte_monitor_components.rx); // Event 3 //f_mtc_check_TP_MW_PCSCF_ECO_REGISTER_05(vc_vxlte_monitor_components.mwPI); // Event 4, 9 f_mtc_check_TP_MW_ICSCF_ECO_REGISTER_05(vc_vxlte_monitor_components.mwPI); // Event 4, 9 f_mtc_check_TP_CX_HSS_UAA_03(f_getCxInterface(PX_DIAMETER_CX_SINGLE_INTERFACE));// Event 5, 6 Loading
ttcn/AtsImsIot/AtsImsIot_TP_behavior_RX.ttcn +231 −0 Original line number Diff line number Diff line Loading @@ -194,6 +194,111 @@ group g_PCRF_AAA { } } // End of function f_mtc_check_TP_RX_PCRF_AAA_01 /** * Starts monitor component behavior for TP_RX_PCRF_ECO_AAA_01 * @param p_monitorCompRef Reference to monitor component * <pre> * Test objective "Verify that IUT after AA-Request is received due to provisioning of AF Signalling flow sends AA-Answer." * ensure that { * when { * the IMS_P_CSCF_A entity sends an AAR * to the EPC_PCRF_A entity * } * then { * the EPC_PCRF_A entity sends the AAA containing * Result_Code_AVP * indicating value DIAMETER_SUCCESS, * Acceptable_Service_Info_AVP containing * "one or more" Media_Component_Description_AVP containing * Media_Component_Number_AVP * indicating value 0, * Media_Sub_Component_AVP containing * Flow_Description_AVP * Flow_Usage_AVP * indicating value AF_SIGNALING, * Flow_Status_AVP * indicating value ENABLED, * AF_Signalling_Protocol_AVP * indicating value SIP * ; * ; * ;, * IP_CAN_AVP * RAT_Type_AVP * ; * to the IMS_P_CSCF_A entity * } * } * * ensure that { * when { * the IMS_P_CSCF_A entity sends an AAR * to the EPC_PCRF_A entity * } * then { * the EPC_PCRF_A entity sends the AAA containing * Result_Code_AVP * indicating value DIAMETER_SUCCESS * Subscription_Id_AVP containing * Subscription_Id_Type_AVP * indicating value END_USER_IMSI;, //or END_USERE_164 * "and/or" * User_Equipment_Info_AVP containing * User_Equipment_Info_Type * indicating value IMEISV, * User_Equipment_Info_Value;; * to the IMS_P_CSCF_A entity * } * </pre> * @see TS 103 653-1 clause 7.6 */ function f_mtc_check_TP_RX_PCRF_ECO_AAA_01( DiameterInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false, in boolean p_forward_to_mtc := false ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)){ var template DIAMETER_MSG mw_diameter_msg_pass := { aAR_MSG := mw_AAR_basic }; var template DIAMETER_MSG mw_diameter_msg_fail := { aAR_MSG := mw_AAR_dummy }; p_monitorCompRef.start ( f_Iot_Diameter_receive( { mw_diameter_msg_pass }, { mw_diameter_msg_fail }, {0, omit}, "TP_RX_PCRF_ECO_AAA_01 - AAR", p_forward_to_mtc, p_checkMessage ) ); p_monitorCompRef.done; mw_diameter_msg_pass := { aAA_MSG := (mw_AAA_resultCode_subscriptionId_userEquipmentInfo, mw_AAA_resultCode_userEquipmentInfo, mw_AAA_resultCode_subscriptionId) }; mw_diameter_msg_fail := { aAA_MSG := mw_AAA_basic }; p_monitorCompRef.start ( f_Iot_Diameter_receive( { mw_diameter_msg_pass }, { mw_diameter_msg_fail }, {0, omit}, "TP_RX_PCRF_ECO_AAA_01 - AAA", p_forward_to_mtc, p_checkMessage ) ); p_monitorCompRef.done; } } // End of function f_mtc_check_TP_RX_PCRF_ECO_AAA_01 /** * Starts monitor component behavior for TP_RX_PCRF_AAA_02 * @param p_monitorCompRef Reference to monitor component Loading Loading @@ -581,6 +686,70 @@ group g_PCSCF_AAR { } } // End of function f_mtc_check_TP_RX_PCSCF_AAR_01 /** * Starts monitor component behavior for TP_RX_PCSCF_ECO_AAR_01 * @param p_monitorCompRef Reference to monitor component * @param p_checkMessage indicate if the incomming message should only be checked (port.check) or consumed (port.receive). * The check operation allows read access to the top element of incoming port queues without removing the top element from the queue. * <pre> * Test objective "Verify that IUT after 2XX_Response on REGISTER sends an AA-Request due to provisioning of AF Signalling flow." * * <pre> * * Config Id CF_VxLTE_INT * * Initial conditions with { * the UE_A entity isNotAttachedTo the EPC_A and * the UE_A entity not isEmergencyRegisteredTo the IMS_A * } * * ensure that { * when { * the IMS_S_CSCF_A entity sends a 200_Response_REGISTER * to the IMS_P_CSCF_A entity * } * then { * the IMS_P_CSCF_A entity sends an AAR containing * Framed_IPv4_Address_AVP * indicating value "IPv4_Address of UE_A", * "or" Framed_IPv6_Address_AVP * indicating value "IPv6_Address of UE_A", * AF_Requested_Data_AVP * indicating value "EPC-level identities required", * Service_URN_AVP * indicating value "sos*"; * to the EPC_PCRF_A entity * } * } * </pre> * @see TS 103 795-1 clause 7.6 */ function f_mtc_check_TP_RX_PCSCF_ECO_AAR_01( DiameterInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false, in boolean p_forward_to_mtc := false ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)){ var template DIAMETER_MSG mw_diameter_msg_pass := { aAR_MSG := mw_AAR_AfRequestedData_ServiceUrn }; var template DIAMETER_MSG mw_diameter_msg_fail := { aAR_MSG := mw_AAR_basic }; p_monitorCompRef.start ( f_Iot_Diameter_receive( { mw_diameter_msg_pass }, { mw_diameter_msg_fail }, {0, omit}, "TP_RX_PCSCF_ECO_AAR_01 - AAR", p_forward_to_mtc, p_checkMessage ) ); p_monitorCompRef.done; } } // End of function f_mtc_check_TP_RX_PCSCF_ECO_AAR_01 /** * Starts monitor component behavior for TP_RX_PCSCF_AAR_02 * @param p_monitorCompRef Reference to monitor component Loading Loading @@ -638,6 +807,68 @@ group g_PCSCF_AAR { } } // End of function f_mtc_check_TP_RX_PCSCF_AAR_02 /** * Starts monitor component behavior for TP_RX_PCSCF_ECO_AAR_02 * @param p_monitorCompRef Reference to monitor component * @param p_checkMessage indicate if the incomming message should only be checked (port.check) or consumed (port.receive). * The check operation allows read access to the top element of incoming port queues without removing the top element from the queue. * <pre> * Test objective "Verify that IUT send AA-Request in case of emergency session establishment for originating side after INVITE is received." * * <pre> * * Config Id CF_VoLTE_INT_ES * * Initial conditions with { * the UE_A entity isNotAttachedTo the EPC_A and * the UE_A entity not isEmergencyRegisteredTo the IMS_A * } * * ensure that { * when { * the IMS_S_CSCF_A entity sends a 200_Response_REGISTER * to the IMS_P_CSCF_A entity * } * then { * the IMS_P_CSCF_A entity sends an AAR containing * Framed_IPv4_Address_AVP * indicating value "IPv4_Address of UE_A", * "or" Framed_IPv6_Address_AVP * indicating value "IPv6_Address of UE_A", * Service_URN_AVP * indicating value "sos*"; * to the EPC_PCRF_A entity * } * } * </pre> * @see TS 103 795-1 clause 7.6 */ function f_mtc_check_TP_RX_PCSCF_ECO_AAR_02( DiameterInterfaceMonitor p_monitorCompRef, in boolean p_checkMessage := false, in boolean p_forward_to_mtc := false ) runs on ImsTestCoordinator { if (isvalue(p_monitorCompRef)){ var template DIAMETER_MSG mw_diameter_msg_pass := { aAR_MSG := mw_AAR_ServiceUrn }; var template DIAMETER_MSG mw_diameter_msg_fail := { aAR_MSG := mw_AAR_basic }; p_monitorCompRef.start ( f_Iot_Diameter_receive( { mw_diameter_msg_pass }, { mw_diameter_msg_fail }, {0, omit}, "TP_RX_PCSCF_ECO_AAR_02 - AAR", p_forward_to_mtc, p_checkMessage ) ); p_monitorCompRef.done; } } // End of function f_mtc_check_TP_RX_PCSCF_ECO_AAR_02 /** * Starts monitor component behavior for TP_RX_PCSCF_AAR_03 * @param p_monitorCompRef Reference to monitor component Loading