Loading ttcn/AtsImsIot/AtsImsIot_Behavior.ttcn +128 −1 Original line number Diff line number Diff line Loading @@ -5453,6 +5453,19 @@ group checksTC_IMS_SHARE_0009 { // TODO } // End of function f_mtc_check_TP_EPC_6004_01 /** * Starts monitor component behavior for TP_EPC_6004_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. */ function f_mtc_check_TP_EPC_6004_02( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { // TODO } // End of function f_mtc_check_TP_EPC_6004_02 /** * Starts monitor component behavior for TP_EPC_6005_01 * @param p_monitorCompRef Reference to monitor component Loading Loading @@ -6261,6 +6274,22 @@ group checksTC_IMS_SHARE_0009 { * @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> * ensure that { * when { UE_A sends audio_media to UE_B } * then { EPC uses_correct_bearers for the service_data_flows } * then { UE_B receives media } * when { UE_B sends audio_media to UE_A } * then { EPC uses_correct_bearers for the service_data_flows } * then { UE_A receives the media } * when { UE_A sends video_media to UE_B } * then { EPC uses_correct_bearers for the service_data_flows } * then { UE_B receives the media } * when { UE_B sends video_media to UE_A } * then { EPC uses_correct_bearers for the service_data_flows } * then { UE_A receives the media } * } * </pre> */ function f_mtc_check_TP_EPC_6030_02( ImsInterfaceMonitor p_monitorCompRef, Loading @@ -6274,6 +6303,25 @@ group checksTC_IMS_SHARE_0009 { * @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> * ensure that { * when { * IMS_P-CSCF receives 2xx_response on INVITE from IMS_P-CSCF * } * then { * IMS_P-CSCF sends AA-Request to EPC_PCRF * containing Framed-IP-Address_AVP * indicating IPv4_address of UE_A or * containing Framed-IPv6-Address_AVP * indicating IPv6_address of UE_A and * containing one or more Media-Component-Description_AVP * containing Media-Component-Number_AVP * indicating values_derived from SDP * containing one or more Media-Subcomponent-Description_AVP * indicating values_derived from SDP * } * } * </pre> */ function f_mtc_check_TP_EPC_6031_01( ImsInterfaceMonitor p_monitorCompRef, Loading @@ -6283,10 +6331,20 @@ group checksTC_IMS_SHARE_0009 { } // End of function f_mtc_check_TP_EPC_6031_01 /** * Starts monitor component behavior for TP_EPC_6033_01 * Starts monitor component behavior for TP_EPC_6032_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> * ensure that { * when { UE_A sends media to UE_B } * then { EPC filters the IP_packets } * then { the IP_packets not visible on PO_SGi } * when { UE_B sends early_media to UE_A } * then { EPC uses_correct_bearers for service_data_flows } * then { UE_A receives media } * } * </pre> */ function f_mtc_check_TP_EPC_6032_01( ImsInterfaceMonitor p_monitorCompRef, Loading @@ -6300,6 +6358,16 @@ group checksTC_IMS_SHARE_0009 { * @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> * ensure that { * when { IMS_P-CSCF receives INVITE with no SDP from UE_A } * then { IMS_P-CSCF does not send AA-Request to EPC_PCRF } * when { IMS_P-CSCF receives 200_response on INVITE with no SDP from IMS_S-CSCF } * then { IMS_P-CSCF does not send AA-Request to EPC_PCRF } * when { IMS_P-CSCF receives ACK with no SDP from UE_A } * then { IMS_P-CSCF does not send AA-Request to EPC_PCRF } * } * </pre> */ function f_mtc_check_TP_EPC_6033_01( ImsInterfaceMonitor p_monitorCompRef, Loading @@ -6313,6 +6381,16 @@ group checksTC_IMS_SHARE_0009 { * @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> * ensure that { * when { IMS_P-CSCF receives INVITE with no SDP from IMS_S-CSCF } * then { IMS_P-CSCF does not send AA-Request to EPC_PCRF } * when { IMS_P-CSCF receives 200_response on INVITE with no SDP from UE_B } * then { IMS_P-CSCF does not send AA-Request to EPC_PCRF } * when { IMS_P-CSCF receives ACK with no SDP from IMS_S-CSCF } * then { IMS_P-CSCF does not send AA-Request to EPC_PCRF } * } * </pre> */ function f_mtc_check_TP_EPC_6033_02( ImsInterfaceMonitor p_monitorCompRef, Loading @@ -6326,6 +6404,15 @@ group checksTC_IMS_SHARE_0009 { * @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> * ensure that { * when { IMS_P-CSCF receives SIP BYE Response from UE_A } * then { IMS_P-CSCF sends Session-Termination-Request to EPC_PCRF * containing Session-Id_AVP * indicating session for SIP_session * } * } * </pre> */ function f_mtc_check_TP_EPC_6034_01( ImsInterfaceMonitor p_monitorCompRef, Loading @@ -6339,6 +6426,15 @@ group checksTC_IMS_SHARE_0009 { * @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> * ensure that { * when { IMS_P-CSCF receives CANCEL from UE_A } * then { IMS_P-CSCF sends Session-Termination-Request to EPC_PCRF * containing Session-Id_AVP * indicating session for SIP_session * } * } * </pre> */ function f_mtc_check_TP_EPC_6034_02( ImsInterfaceMonitor p_monitorCompRef, Loading @@ -6352,6 +6448,15 @@ group checksTC_IMS_SHARE_0009 { * @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> * ensure that { * when { IMS_P-CSCF receives CANCEL from IMS_S-CSCF } * then { IMS_P-CSCF sends Session-Termination-Request to EPC_PCRF * containing Session-Id_AVP * indicating session for SIP_session * } * } * </pre> */ function f_mtc_check_TP_EPC_6034_03( ImsInterfaceMonitor p_monitorCompRef, Loading @@ -6360,6 +6465,28 @@ group checksTC_IMS_SHARE_0009 { // TODO } // End of function f_mtc_check_TP_EPC_6034_03 /** * Starts monitor component behavior for TP_EPC_6034_04 * @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> * ensure that { * when { IMS_P-CSCF receives 486_response on INVITE from UE_B } * then { IMS_P-CSCF sends Session-Termination-Request to EPC_PCRF * containing Session-Id_AVP * indicating session for SIP_session * } * } * </pre> */ function f_mtc_check_TP_EPC_6034_04( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { // TODO } // End of function f_mtc_check_TP_EPC_6034_04 } // End of group epcChecks } // end group Loading ttcn/AtsImsIot/AtsImsIot_TestCases_EPC.ttcn3 +103 −8 Original line number Diff line number Diff line Loading @@ -1084,16 +1084,111 @@ module AtsImsIot_TestCases_EPC { f_cf_adapter_down ( ); } // End of TC TC_IMSEPC_Session_Abort_Terminating_0001 /** * @desc Originating Leg * On session reject, the P-CSCF should trigger the removal of all relevant previously created early-media bearers. * EPC removes the bearers for early-media. * Media transport is no longer possible, after the session reject. */ testcase TC_IMSEPC_Session_Reject_Originating_0001 ( ) runs on ImsTestCoordinator system IotSystemInterface { var CF_EPC_CALL v_config; var IotEquipmentUser v_ueA := f_cf_create_IotEquipmentUser ( c_userUE_A ); var IotEquipmentUser v_ueB := f_cf_create_IotEquipmentUser ( c_userUE_B ); var ImsUserInfo v_userInfoA := f_getImUser ( PX_EUT_A ); var ImsUserInfo v_userInfoB := f_getImUser ( PX_EUT_B ); v_config.gmA := f_cf_create_monitor ( c_gm_A ); v_config.gmB := f_cf_create_monitor ( c_gm_B ); v_config.rx := f_cf_create_monitor ( c_rx ); // map/connect component ports f_cf_adapter_up ( ); f_cf_user_up ( v_ueA ); f_cf_user_up ( v_ueA ); f_cf_epc_call_up ( v_config ); // preamble f_mtc_userRadioEnabled ( v_ueA, true, true ); // UA-A trigger an initial network_attachment by enabling radio interface of its mobile f_mtc_userRegistration ( v_ueA, v_userInfoA ); f_mtc_userRegistration ( v_ueB, v_userInfoB ); f_mtc_userInitiateCall ( v_ueA, v_userInfoB ); // test body f_mtc_check_TP_EPC_6003_02 ( v_config.gmA, false ); f_mtc_check_TP_EPC_6027_06 ( v_config.gmA, false ); f_mtc_check_TP_EPC_6028_01 ( v_config.gmA, false ); f_mtc_check_TP_EPC_6029_05 ( v_config.gmA, false ); f_mtc_check_TP_EPC_6032_01 ( v_config.gmA, false ); f_mtc_check_TP_EPC_6034_04 ( v_config.gmA, false ); f_mtc_check_TP_EPC_6009_03 ( v_config.gmA, false ); f_mtc_check_TP_EPC_6003_02 ( v_config.gmA, false ); // postamble f_PO_user_home_deregistration ( v_ueB ); f_mtc_userRadioEnabled ( v_ueA, false, true ); //unmap/disconnet component ports f_cf_user_down ( v_ueB ); f_cf_user_down ( v_ueA ); f_cf_epc_call_down ( v_config ); f_cf_adapter_down ( ); } // End of TC TC_IMSEPC_Session_Reject_Originating_0001 /** * @desc Terminating Leg * On session reject, the P-CSCF should trigger the removal of all relevant previously created early-media bearers. * EPC removes the bearers for early-media. * Media transport is no longer possible, after the session reject */ testcase TC_IMSEPC_Session_RejectTerminating_0001 ( ) runs on ImsTestCoordinator system IotSystemInterface { var CF_EPC_CALL v_config; var IotEquipmentUser v_ueA := f_cf_create_IotEquipmentUser ( c_userUE_A ); var IotEquipmentUser v_ueB := f_cf_create_IotEquipmentUser ( c_userUE_B ); var ImsUserInfo v_userInfoA := f_getImUser ( PX_EUT_A ); var ImsUserInfo v_userInfoB := f_getImUser ( PX_EUT_B ); v_config.gmA := f_cf_create_monitor ( c_gm_A ); v_config.gmB := f_cf_create_monitor ( c_gm_B ); v_config.rx := f_cf_create_monitor ( c_rx ); // map/connect component ports f_cf_adapter_up ( ); f_cf_user_up ( v_ueA ); f_cf_user_up ( v_ueA ); f_cf_epc_call_up ( v_config ); // preamble f_mtc_userRadioEnabled ( v_ueA, true, true ); // UA-A trigger an initial network_attachment by enabling radio interface of its mobile f_mtc_userRegistration ( v_ueA, v_userInfoA ); f_mtc_userRegistration ( v_ueB, v_userInfoB ); f_mtc_userInitiateCall ( v_ueA, v_userInfoB ); // test body f_mtc_check_TP_EPC_6003_02 ( v_config.gmA, false ); f_mtc_check_TP_EPC_6027_05 ( v_config.gmA, false ); f_mtc_check_TP_EPC_6028_02 ( v_config.gmA, false ); f_mtc_check_TP_EPC_6029_06 ( v_config.gmA, false ); f_mtc_check_TP_EPC_6032_01 ( v_config.gmA, false ); f_mtc_check_TP_EPC_6034_04 ( v_config.gmA, false ); f_mtc_check_TP_EPC_6009_03 ( v_config.gmA, false ); f_mtc_check_TP_EPC_6003_02 ( v_config.gmA, false ); // postamble f_PO_user_home_deregistration ( v_ueB ); f_mtc_userRadioEnabled ( v_ueA, false, true ); //unmap/disconnet component ports f_cf_user_down ( v_ueB ); f_cf_user_down ( v_ueA ); f_cf_epc_call_down ( v_config ); f_cf_adapter_down ( ); } // End of TC TC_IMSEPC_Session_RejectTerminating_0001 } // End of group sipSessionAbortReject group epcInitiatedBearerModification { /** * @desc Originating Leg * On call release, the P-CSCF should trigger the removal of all relevant previously created bearers. * EPC removes the bearers for media. * Media transport is no longer possible, after the session release. * @desc EPC Initiated Bearer Modification * On removal of all bearers, EPC PCRF will notify IMS P-CSCF that Rx session should be aborted. * IMS will take action and terminate all ongoing SIP sessions and the IMS registration. */ testcase TC_IMSEPC_Bearer_Modification_0001 ( ) runs on ImsTestCoordinator system IotSystemInterface { var CF_EPC_CALL v_config; Loading @@ -1118,9 +1213,10 @@ module AtsImsIot_TestCases_EPC { f_mtc_userInitiateCall ( v_ueA, v_userInfoB ); // test body f_mtc_check_TP_EPC_6030_01 ( v_config.gmA, false ); f_mtc_check_TP_EPC_6034_01 ( v_config.gmA, false ); f_mtc_check_TP_EPC_6009_03 ( v_config.gmA, false ); f_mtc_check_TP_EPC_6004_02 ( v_config.gmA, false ); f_mtc_check_TP_EPC_6005_01 ( v_config.gmA, false ); f_mtc_check_TP_EPC_6006_01 ( v_config.gmA, false ); f_mtc_check_TP_EPC_6010_01 ( v_config.gmA, false ); f_mtc_check_TP_EPC_6003_02 ( v_config.gmA, false ); // postamble Loading @@ -1133,7 +1229,6 @@ module AtsImsIot_TestCases_EPC { f_cf_epc_call_down ( v_config ); f_cf_adapter_down ( ); } // End of TC TC_IMSEPC_Bearer_Modification_0001 } // End of group epcInitiatedBearerModification } // End of group sipSessionAndSessionBearer Loading ttcn/LibIot/LibIot_PIXITS.ttcn +16 −3 Original line number Diff line number Diff line Loading @@ -124,6 +124,18 @@ module LibIot_PIXITS { } } } }, { interfaceName := "Mw", interfaceInfo := { IpInterfaceInfo := { { domainName := "", IpAddress := "", portNumbers := {2222} } } } } } }, Loading Loading @@ -257,6 +269,7 @@ module LibIot_PIXITS { { interfaceName := "Gm D", available := true }, { interfaceName := "Mx", available := true }, { interfaceName := "Rx", available := true }, { interfaceName := "Mw", available := false }, { interfaceName := "Ici", available := true }, { interfaceName := "ISC A", available := true }, { interfaceName := "ISC B", available := true }, Loading Loading
ttcn/AtsImsIot/AtsImsIot_Behavior.ttcn +128 −1 Original line number Diff line number Diff line Loading @@ -5453,6 +5453,19 @@ group checksTC_IMS_SHARE_0009 { // TODO } // End of function f_mtc_check_TP_EPC_6004_01 /** * Starts monitor component behavior for TP_EPC_6004_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. */ function f_mtc_check_TP_EPC_6004_02( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { // TODO } // End of function f_mtc_check_TP_EPC_6004_02 /** * Starts monitor component behavior for TP_EPC_6005_01 * @param p_monitorCompRef Reference to monitor component Loading Loading @@ -6261,6 +6274,22 @@ group checksTC_IMS_SHARE_0009 { * @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> * ensure that { * when { UE_A sends audio_media to UE_B } * then { EPC uses_correct_bearers for the service_data_flows } * then { UE_B receives media } * when { UE_B sends audio_media to UE_A } * then { EPC uses_correct_bearers for the service_data_flows } * then { UE_A receives the media } * when { UE_A sends video_media to UE_B } * then { EPC uses_correct_bearers for the service_data_flows } * then { UE_B receives the media } * when { UE_B sends video_media to UE_A } * then { EPC uses_correct_bearers for the service_data_flows } * then { UE_A receives the media } * } * </pre> */ function f_mtc_check_TP_EPC_6030_02( ImsInterfaceMonitor p_monitorCompRef, Loading @@ -6274,6 +6303,25 @@ group checksTC_IMS_SHARE_0009 { * @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> * ensure that { * when { * IMS_P-CSCF receives 2xx_response on INVITE from IMS_P-CSCF * } * then { * IMS_P-CSCF sends AA-Request to EPC_PCRF * containing Framed-IP-Address_AVP * indicating IPv4_address of UE_A or * containing Framed-IPv6-Address_AVP * indicating IPv6_address of UE_A and * containing one or more Media-Component-Description_AVP * containing Media-Component-Number_AVP * indicating values_derived from SDP * containing one or more Media-Subcomponent-Description_AVP * indicating values_derived from SDP * } * } * </pre> */ function f_mtc_check_TP_EPC_6031_01( ImsInterfaceMonitor p_monitorCompRef, Loading @@ -6283,10 +6331,20 @@ group checksTC_IMS_SHARE_0009 { } // End of function f_mtc_check_TP_EPC_6031_01 /** * Starts monitor component behavior for TP_EPC_6033_01 * Starts monitor component behavior for TP_EPC_6032_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> * ensure that { * when { UE_A sends media to UE_B } * then { EPC filters the IP_packets } * then { the IP_packets not visible on PO_SGi } * when { UE_B sends early_media to UE_A } * then { EPC uses_correct_bearers for service_data_flows } * then { UE_A receives media } * } * </pre> */ function f_mtc_check_TP_EPC_6032_01( ImsInterfaceMonitor p_monitorCompRef, Loading @@ -6300,6 +6358,16 @@ group checksTC_IMS_SHARE_0009 { * @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> * ensure that { * when { IMS_P-CSCF receives INVITE with no SDP from UE_A } * then { IMS_P-CSCF does not send AA-Request to EPC_PCRF } * when { IMS_P-CSCF receives 200_response on INVITE with no SDP from IMS_S-CSCF } * then { IMS_P-CSCF does not send AA-Request to EPC_PCRF } * when { IMS_P-CSCF receives ACK with no SDP from UE_A } * then { IMS_P-CSCF does not send AA-Request to EPC_PCRF } * } * </pre> */ function f_mtc_check_TP_EPC_6033_01( ImsInterfaceMonitor p_monitorCompRef, Loading @@ -6313,6 +6381,16 @@ group checksTC_IMS_SHARE_0009 { * @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> * ensure that { * when { IMS_P-CSCF receives INVITE with no SDP from IMS_S-CSCF } * then { IMS_P-CSCF does not send AA-Request to EPC_PCRF } * when { IMS_P-CSCF receives 200_response on INVITE with no SDP from UE_B } * then { IMS_P-CSCF does not send AA-Request to EPC_PCRF } * when { IMS_P-CSCF receives ACK with no SDP from IMS_S-CSCF } * then { IMS_P-CSCF does not send AA-Request to EPC_PCRF } * } * </pre> */ function f_mtc_check_TP_EPC_6033_02( ImsInterfaceMonitor p_monitorCompRef, Loading @@ -6326,6 +6404,15 @@ group checksTC_IMS_SHARE_0009 { * @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> * ensure that { * when { IMS_P-CSCF receives SIP BYE Response from UE_A } * then { IMS_P-CSCF sends Session-Termination-Request to EPC_PCRF * containing Session-Id_AVP * indicating session for SIP_session * } * } * </pre> */ function f_mtc_check_TP_EPC_6034_01( ImsInterfaceMonitor p_monitorCompRef, Loading @@ -6339,6 +6426,15 @@ group checksTC_IMS_SHARE_0009 { * @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> * ensure that { * when { IMS_P-CSCF receives CANCEL from UE_A } * then { IMS_P-CSCF sends Session-Termination-Request to EPC_PCRF * containing Session-Id_AVP * indicating session for SIP_session * } * } * </pre> */ function f_mtc_check_TP_EPC_6034_02( ImsInterfaceMonitor p_monitorCompRef, Loading @@ -6352,6 +6448,15 @@ group checksTC_IMS_SHARE_0009 { * @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> * ensure that { * when { IMS_P-CSCF receives CANCEL from IMS_S-CSCF } * then { IMS_P-CSCF sends Session-Termination-Request to EPC_PCRF * containing Session-Id_AVP * indicating session for SIP_session * } * } * </pre> */ function f_mtc_check_TP_EPC_6034_03( ImsInterfaceMonitor p_monitorCompRef, Loading @@ -6360,6 +6465,28 @@ group checksTC_IMS_SHARE_0009 { // TODO } // End of function f_mtc_check_TP_EPC_6034_03 /** * Starts monitor component behavior for TP_EPC_6034_04 * @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> * ensure that { * when { IMS_P-CSCF receives 486_response on INVITE from UE_B } * then { IMS_P-CSCF sends Session-Termination-Request to EPC_PCRF * containing Session-Id_AVP * indicating session for SIP_session * } * } * </pre> */ function f_mtc_check_TP_EPC_6034_04( ImsInterfaceMonitor p_monitorCompRef, boolean p_checkMessage ) runs on ImsTestCoordinator { // TODO } // End of function f_mtc_check_TP_EPC_6034_04 } // End of group epcChecks } // end group Loading
ttcn/AtsImsIot/AtsImsIot_TestCases_EPC.ttcn3 +103 −8 Original line number Diff line number Diff line Loading @@ -1084,16 +1084,111 @@ module AtsImsIot_TestCases_EPC { f_cf_adapter_down ( ); } // End of TC TC_IMSEPC_Session_Abort_Terminating_0001 /** * @desc Originating Leg * On session reject, the P-CSCF should trigger the removal of all relevant previously created early-media bearers. * EPC removes the bearers for early-media. * Media transport is no longer possible, after the session reject. */ testcase TC_IMSEPC_Session_Reject_Originating_0001 ( ) runs on ImsTestCoordinator system IotSystemInterface { var CF_EPC_CALL v_config; var IotEquipmentUser v_ueA := f_cf_create_IotEquipmentUser ( c_userUE_A ); var IotEquipmentUser v_ueB := f_cf_create_IotEquipmentUser ( c_userUE_B ); var ImsUserInfo v_userInfoA := f_getImUser ( PX_EUT_A ); var ImsUserInfo v_userInfoB := f_getImUser ( PX_EUT_B ); v_config.gmA := f_cf_create_monitor ( c_gm_A ); v_config.gmB := f_cf_create_monitor ( c_gm_B ); v_config.rx := f_cf_create_monitor ( c_rx ); // map/connect component ports f_cf_adapter_up ( ); f_cf_user_up ( v_ueA ); f_cf_user_up ( v_ueA ); f_cf_epc_call_up ( v_config ); // preamble f_mtc_userRadioEnabled ( v_ueA, true, true ); // UA-A trigger an initial network_attachment by enabling radio interface of its mobile f_mtc_userRegistration ( v_ueA, v_userInfoA ); f_mtc_userRegistration ( v_ueB, v_userInfoB ); f_mtc_userInitiateCall ( v_ueA, v_userInfoB ); // test body f_mtc_check_TP_EPC_6003_02 ( v_config.gmA, false ); f_mtc_check_TP_EPC_6027_06 ( v_config.gmA, false ); f_mtc_check_TP_EPC_6028_01 ( v_config.gmA, false ); f_mtc_check_TP_EPC_6029_05 ( v_config.gmA, false ); f_mtc_check_TP_EPC_6032_01 ( v_config.gmA, false ); f_mtc_check_TP_EPC_6034_04 ( v_config.gmA, false ); f_mtc_check_TP_EPC_6009_03 ( v_config.gmA, false ); f_mtc_check_TP_EPC_6003_02 ( v_config.gmA, false ); // postamble f_PO_user_home_deregistration ( v_ueB ); f_mtc_userRadioEnabled ( v_ueA, false, true ); //unmap/disconnet component ports f_cf_user_down ( v_ueB ); f_cf_user_down ( v_ueA ); f_cf_epc_call_down ( v_config ); f_cf_adapter_down ( ); } // End of TC TC_IMSEPC_Session_Reject_Originating_0001 /** * @desc Terminating Leg * On session reject, the P-CSCF should trigger the removal of all relevant previously created early-media bearers. * EPC removes the bearers for early-media. * Media transport is no longer possible, after the session reject */ testcase TC_IMSEPC_Session_RejectTerminating_0001 ( ) runs on ImsTestCoordinator system IotSystemInterface { var CF_EPC_CALL v_config; var IotEquipmentUser v_ueA := f_cf_create_IotEquipmentUser ( c_userUE_A ); var IotEquipmentUser v_ueB := f_cf_create_IotEquipmentUser ( c_userUE_B ); var ImsUserInfo v_userInfoA := f_getImUser ( PX_EUT_A ); var ImsUserInfo v_userInfoB := f_getImUser ( PX_EUT_B ); v_config.gmA := f_cf_create_monitor ( c_gm_A ); v_config.gmB := f_cf_create_monitor ( c_gm_B ); v_config.rx := f_cf_create_monitor ( c_rx ); // map/connect component ports f_cf_adapter_up ( ); f_cf_user_up ( v_ueA ); f_cf_user_up ( v_ueA ); f_cf_epc_call_up ( v_config ); // preamble f_mtc_userRadioEnabled ( v_ueA, true, true ); // UA-A trigger an initial network_attachment by enabling radio interface of its mobile f_mtc_userRegistration ( v_ueA, v_userInfoA ); f_mtc_userRegistration ( v_ueB, v_userInfoB ); f_mtc_userInitiateCall ( v_ueA, v_userInfoB ); // test body f_mtc_check_TP_EPC_6003_02 ( v_config.gmA, false ); f_mtc_check_TP_EPC_6027_05 ( v_config.gmA, false ); f_mtc_check_TP_EPC_6028_02 ( v_config.gmA, false ); f_mtc_check_TP_EPC_6029_06 ( v_config.gmA, false ); f_mtc_check_TP_EPC_6032_01 ( v_config.gmA, false ); f_mtc_check_TP_EPC_6034_04 ( v_config.gmA, false ); f_mtc_check_TP_EPC_6009_03 ( v_config.gmA, false ); f_mtc_check_TP_EPC_6003_02 ( v_config.gmA, false ); // postamble f_PO_user_home_deregistration ( v_ueB ); f_mtc_userRadioEnabled ( v_ueA, false, true ); //unmap/disconnet component ports f_cf_user_down ( v_ueB ); f_cf_user_down ( v_ueA ); f_cf_epc_call_down ( v_config ); f_cf_adapter_down ( ); } // End of TC TC_IMSEPC_Session_RejectTerminating_0001 } // End of group sipSessionAbortReject group epcInitiatedBearerModification { /** * @desc Originating Leg * On call release, the P-CSCF should trigger the removal of all relevant previously created bearers. * EPC removes the bearers for media. * Media transport is no longer possible, after the session release. * @desc EPC Initiated Bearer Modification * On removal of all bearers, EPC PCRF will notify IMS P-CSCF that Rx session should be aborted. * IMS will take action and terminate all ongoing SIP sessions and the IMS registration. */ testcase TC_IMSEPC_Bearer_Modification_0001 ( ) runs on ImsTestCoordinator system IotSystemInterface { var CF_EPC_CALL v_config; Loading @@ -1118,9 +1213,10 @@ module AtsImsIot_TestCases_EPC { f_mtc_userInitiateCall ( v_ueA, v_userInfoB ); // test body f_mtc_check_TP_EPC_6030_01 ( v_config.gmA, false ); f_mtc_check_TP_EPC_6034_01 ( v_config.gmA, false ); f_mtc_check_TP_EPC_6009_03 ( v_config.gmA, false ); f_mtc_check_TP_EPC_6004_02 ( v_config.gmA, false ); f_mtc_check_TP_EPC_6005_01 ( v_config.gmA, false ); f_mtc_check_TP_EPC_6006_01 ( v_config.gmA, false ); f_mtc_check_TP_EPC_6010_01 ( v_config.gmA, false ); f_mtc_check_TP_EPC_6003_02 ( v_config.gmA, false ); // postamble Loading @@ -1133,7 +1229,6 @@ module AtsImsIot_TestCases_EPC { f_cf_epc_call_down ( v_config ); f_cf_adapter_down ( ); } // End of TC TC_IMSEPC_Bearer_Modification_0001 } // End of group epcInitiatedBearerModification } // End of group sipSessionAndSessionBearer Loading
ttcn/LibIot/LibIot_PIXITS.ttcn +16 −3 Original line number Diff line number Diff line Loading @@ -124,6 +124,18 @@ module LibIot_PIXITS { } } } }, { interfaceName := "Mw", interfaceInfo := { IpInterfaceInfo := { { domainName := "", IpAddress := "", portNumbers := {2222} } } } } } }, Loading Loading @@ -257,6 +269,7 @@ module LibIot_PIXITS { { interfaceName := "Gm D", available := true }, { interfaceName := "Mx", available := true }, { interfaceName := "Rx", available := true }, { interfaceName := "Mw", available := false }, { interfaceName := "Ici", available := true }, { interfaceName := "ISC A", available := true }, { interfaceName := "ISC B", available := true }, Loading