Loading AtsImsIot/AtsImsIot_Behavior.ttcn +6 −0 Original line number Diff line number Diff line Loading @@ -4630,6 +4630,12 @@ group checksTC_IMS_SHARE_0009 { p_monitorCompRef.done; } function f_mtc_check_message ( ImsInterfaceMonitor p_monitorCompRef ) runs on ImsTestCoordinator { p_monitorCompRef.start ( f_imsIot_receive ( { mw_SipRequest ( mw_MESSAGE_Request_Base ) }, { }, { 0, omit }, "f_mtc_check_message", false, false ) ); p_monitorCompRef.done; } function f_mtc_check_message_mx( ImsInterfaceMonitor p_monitorCompRef ) runs on ImsTestCoordinator { Loading AtsImsIot/AtsImsIot_Functions.ttcn +10 −23 Original line number Diff line number Diff line Loading @@ -668,14 +668,15 @@ module AtsImsIot_Functions { } /** * @desc Trigger UE given by p_ueRef to send SIP OPTIONS message * @desc Trigger UE given by p_ueRef to send the required message indicated by p_command * @param p_userCompRef Reference to IMS UE user component * @param p_command Required Message to be sent * @return * true in case of successfull execution of the trigger command * otherwise false */ function f_mtc_triggerUserOptions ( EquipmentUser p_userCompRef, EquipmentCommand p_command ) runs on ImsTestCoordinator return boolean { function f_mtc_triggerUserCommand ( EquipmentUser p_userCompRef, EquipmentCommand p_command ) runs on TestCoordinator return boolean { var boolean v_success := false; p_userCompRef.start ( f_sendEquipmentCmd ( valueof ( m_EQ_Request ( p_command, { } ) ) ) ); p_userCompRef.done; Loading @@ -683,20 +684,6 @@ module AtsImsIot_Functions { return v_success; } /** * @desc Trigger UE given by p_ueRef to publishes presence information * @param p_userCompRef Reference to IMS UE user component * @return * true in case of successfull execution of the trigger command * otherwise false */ function f_mtc_userPublishPresence(EquipmentUser p_userCompRef) runs on TestCoordinator return boolean { var boolean v_status := true; // TODO return v_status; } /** * @desc Trigger UE given by p_ueRef to Verify that user is informed * of its presence status update Loading AtsImsIot/AtsImsIot_TestCases_ENUM.ttcn +1 −1 Original line number Diff line number Diff line Loading @@ -19,7 +19,7 @@ module AtsImsIot_TestCases_ENUM { /** * @desc ENUM query should result in return of NAPTR with correct SIP URI */ testcase TD_IMS_ENUM_0001 ( ) runs on ImsTestCoordinator system IotSystemInterface { testcase TC_IMS_ENUM_0001 ( ) runs on ImsTestCoordinator system IotSystemInterface { var CF_INT_CALL v_config; var ImsUserInfo v_userInfoA := f_getSipUserId ( PX_EUT_A ); var ImsUserInfo v_userInfoB := f_getSipUserId ( PX_EUT_B ); Loading AtsImsIot/AtsImsIot_TestCases_RCS.ttcn +114 −71 Original line number Diff line number Diff line Loading @@ -57,7 +57,7 @@ module AtsImsIot_TestCases_RCS { f_mtc_userRegistration ( v_ueB, v_userInfoB ); // test body f_mtc_triggerUserOptions ( v_ueA, "select a contact of user B" ); // Trigger UE A to send OPTIONS to UE B f_mtc_triggerUserCommand ( v_ueA, "select a contact of user B" ); // Trigger UE A to send OPTIONS to UE B // check (OPTIONS + 200 OK exchange) f_mtc_check_options ( v_config.mxB, PX_RCSE_A ); Loading Loading @@ -107,7 +107,7 @@ module AtsImsIot_TestCases_RCS { f_mtc_userRegistration ( v_ueB, v_userInfoB ); // test body f_mtc_triggerUserOptions ( v_ueA, "select a contact of user B" ); // Trigger UE A to send OPTIONS to UE B f_mtc_triggerUserCommand ( v_ueA, "select a contact of user B" ); // Trigger UE A to send OPTIONS to UE B // check (OPTIONS + 200 OK exchange) f_mtc_check_options ( v_config.mxB, PX_RCSE_A ); Loading Loading @@ -155,7 +155,7 @@ module AtsImsIot_TestCases_RCS { f_mtc_userRegistration ( v_ueA, v_userInfoA ); // test body f_mtc_triggerUserOptions ( v_ueA, "select a contact of user B" ); // Trigger UE A to send OPTIONS to UE B f_mtc_triggerUserCommand ( v_ueA, "select a contact of user B" ); // Trigger UE A to send OPTIONS to UE B // check (OPTIONS + 480 exchange) f_mtc_check_options ( v_config.mxB, PX_RCSE_A ); Loading Loading @@ -204,8 +204,8 @@ module AtsImsIot_TestCases_RCS { f_mtc_userRegistration ( v_ueB, v_userInfoB ); // test body f_mtc_triggerUserOptions ( v_ueB, "Force user B to be not provisionned for RCS-e" ); // Trigger UE B f_mtc_triggerUserOptions ( v_ueA, "select a contact of user B" ); // Trigger UE A to send OPTIONS to UE B f_mtc_triggerUserCommand ( v_ueB, "Force user B to be not provisionned for RCS-e" ); // Trigger UE B f_mtc_triggerUserCommand ( v_ueA, "select a contact of user B" ); // Trigger UE A to send OPTIONS to UE B // check (OPTIONS + 404 exchange) f_mtc_check_options ( v_config.mxB, PX_RCSE_A ); Loading @@ -229,18 +229,20 @@ module AtsImsIot_TestCases_RCS { * @see TS 102 901-2 V0.0.1 clause 4.5.1.1 */ testcase TC_IMS_PRES_0001() runs on ImsTestCoordinator system IotSystemInterface { // create components var IotEquipmentUser v_ueA := f_cf_create_IotEquipmentUser(c_userUE_A); var IotEquipmentUser v_ueB := f_cf_create_IotEquipmentUser(c_userUE_B); var ImsInterfaceMonitor v_gmA := f_cf_create_monitor(c_gm_A); var ImsInterfaceMonitor v_gmB := f_cf_create_monitor(c_gm_B); var ImsInterfaceMonitor v_ic := f_cf_create_monitor(c_ic); var ImsInterfaceMonitor v_iscB := f_cf_create_monitor(c_isc_B); var CF_ROAM_AS v_config; var ImsUserInfo v_userInfoA := f_getPresUser ( PX_EUT_A ); var ImsUserInfo v_userInfoB := f_getPresUser ( PX_EUT_B ); var ImsInterfaceMonitor v_mxA := f_cf_create_monitor(c_mx_A); var ImsInterfaceMonitor v_mxB := f_cf_create_monitor(c_mx_B); var CF_ROAM_AS v_config := {v_gmA, v_mxA, v_ic, v_mxB, v_gmB, omit, v_iscB}; var IotEquipmentUser v_ueA := f_cf_create_IotEquipmentUser ( c_userUE_A ); var IotEquipmentUser v_ueB := f_cf_create_IotEquipmentUser ( c_userUE_B ); // create components v_config.gmA := f_cf_create_monitor ( c_gm_A ); v_config.gmB := f_cf_create_monitor ( c_gm_B ); v_config.ici := f_cf_create_monitor ( c_ic ); v_config.mxA := f_cf_create_monitor ( c_mx_A ); v_config.mxB := f_cf_create_monitor ( c_mx_B ); v_config.iscA := omit; v_config.iscB := f_cf_create_monitor ( c_isc_B ); // map/connect component ports f_cf_adapter_up ( ); Loading @@ -253,35 +255,30 @@ module AtsImsIot_TestCases_RCS { f_mtc_userRegistration ( v_ueB, v_userInfoB ); // test body f_mtc_StartAllTrafficCapture(); f_mtc_userPublishPresence(v_ueB);//Test Sequence Step 1 // check - PUBLISH + 200 OK (from User B to IMS A that forwards it to AS B) f_mtc_triggerUserCommand ( v_ueB, "publish presence and capability information"); f_mtc_check_publish_mx ( v_config.mxB ); f_mtc_check_response_mx ( v_config.mxB, c_statusLine200 ); //check 1 - PUBLISH f_mtc_check_publish_mx(v_mxA); f_mtc_check_TP_IMS_5097_13_ic(v_ic, false); // Check1 f_mtc_check_publish_mx(v_mxB); f_mtc_check_TP_IMS_5097_13_isc(v_iscB, false); // Check1 // check (OPTIONS + 200 OK exchange) f_mtc_triggerUserCommand ( v_ueA, "select a contact of user B" ); // Trigger UE A to send OPTIONS to UE B f_mtc_check_options ( v_config.mxB, PX_RCSE_A ); f_mtc_check_response ( v_config.mxA, c_statusLine200, PX_RCSE_B ); f_mtc_userCheckPresenceStatus(v_ueB);//Test Sequence Step 2 f_mtc_userSubscribeToPresenceInformation ( v_ueA ); // check - SUBSCRIBE (from User A to AS B) f_mtc_check_TP_IMS_5108_07_gm ( v_config.gmA, false ); f_mtc_check_subscribe_mx ( v_config.mxB ); f_mtc_check_TP_IMS_5108_07_isc ( v_config.iscB, false ); f_mtc_userSubscribeToPresenceInformation(v_ueA);//Test Sequence Step 3 // check - 200 OK f_mtc_check_response_mx ( v_config.mxB, c_statusLine200 ); f_mtc_check_response_mx ( v_config.mxA, c_statusLine200 ); //check 2 - SUBSCRIBE f_mtc_check_TP_IMS_5108_07_gm(v_gmA, false); // Check2 f_mtc_check_subscribe_mx(v_mxA); f_mtc_check_subscribe_mx(v_mxB); f_mtc_check_TP_IMS_5108_07_isc(v_iscB,false); // Check2 //check 3 - 200 OK f_mtc_check_TP_IMS_5115_08_isc(v_iscB, false); // Check3 f_mtc_check_response_mx(v_mxB, c_statusLine200); f_mtc_check_TP_IMS_5115_08_ic(v_ic, false, 0); // Check3 f_mtc_check_response_mx(v_mxA, c_statusLine200); f_mtc_userCheckPresenceAuthorizationRequest(v_ueB);//Test Sequence Step 4 f_mtc_userAuthorizationToPeer(v_ueB);//Test Sequence Step 5 f_mtc_userCheckPresenceInformation(v_ueA);//Test Sequence Step 6 f_mtc_triggerUserCommand ( v_ueB, "verify reception of an authorization request from user A"); f_mtc_userAuthorizationToPeer ( v_ueB ); f_mtc_userCheckPresenceInformation ( v_ueA ); // postamble f_PO_user_home_deregistration ( v_ueA ); Loading @@ -292,6 +289,7 @@ module AtsImsIot_TestCases_RCS { f_cf_user_down ( v_ueB ); f_cf_roam_as_down ( v_config ); f_cf_adapter_down ( ); } //end testcase TC_IMS_PRES_0001 /** Loading Loading @@ -326,14 +324,16 @@ module AtsImsIot_TestCases_RCS { f_mtc_userRegistration(v_ueB, v_userInfoB); // test body f_mtc_StartAllTrafficCapture(); f_mtc_userPublishPresence(v_ueB);//Test Sequence Step 1 f_mtc_triggerUserCommand ( v_ueB, "publish presence and capability information"); f_mtc_userCheckPresenceStatus(v_ueB);//Test Sequence Step 2 f_mtc_userSubscribeToPresenceInformation(v_ueA);//Test Sequence Step 3 // check (OPTIONS + 200 OK exchange) f_mtc_triggerUserCommand ( v_ueA, "select a contact of user B" ); // Trigger UE A to send OPTIONS to UE B f_mtc_check_options ( v_mxB, PX_RCSE_A ); f_mtc_check_response ( v_mxA, c_statusLine200, PX_RCSE_B ); //check 1 - SUBSCRIBE f_mtc_check_TP_IMS_5108_07_gm(v_gmA, false); // Check1 f_mtc_check_subscribe_mx(v_mxA); Loading @@ -346,7 +346,7 @@ module AtsImsIot_TestCases_RCS { f_mtc_check_TP_IMS_5115_08_ic(v_ic, false, 0); // Check2 f_mtc_check_response_mx(v_mxA, c_statusLine200); f_mtc_userCheckPresenceAuthorizationRequest(v_ueB);//Test Sequence Step 4 f_mtc_triggerUserCommand ( v_ueB, "verify reception of an authorization request from user A"); f_mtc_userAuthorizationToPeer(v_ueB);//Test Sequence Step 5 f_mtc_userCheckPresenceInformation(v_ueA);//Test Sequence Step 6 Loading Loading @@ -395,6 +395,11 @@ module AtsImsIot_TestCases_RCS { // test body f_mtc_StartAllTrafficCapture(); // check (OPTIONS + 200 OK exchange) f_mtc_triggerUserCommand ( v_ueA, "select a contact of user B" ); // Trigger UE A to send OPTIONS to UE B f_mtc_check_options ( v_mxB, PX_RCSE_A ); f_mtc_check_response ( v_mxA, c_statusLine200, PX_RCSE_B ); f_mtc_userSubscribeToPresenceInformation(v_ueA);//Test Sequence Step 1 //check 1 - SUBSCRIBE Loading Loading @@ -447,9 +452,7 @@ module AtsImsIot_TestCases_RCS { f_mtc_userRegistration(v_ueB, v_userInfoB); // test body f_mtc_StartAllTrafficCapture(); f_mtc_userPublishPresence(v_ueB);//Test Sequence Step 1 f_mtc_triggerUserCommand ( v_ueB, "publish presence and capability information"); //check 1 - PUBLISH f_mtc_check_publish_mx(v_mxA); Loading @@ -459,6 +462,11 @@ module AtsImsIot_TestCases_RCS { f_mtc_userCheckPresenceStatus(v_ueB);//Test Sequence Step 2 // check (OPTIONS + 200 OK exchange) f_mtc_triggerUserCommand ( v_ueA, "select a contact of user B" ); // Trigger UE A to send OPTIONS to UE B f_mtc_check_options ( v_mxB, PX_RCSE_A ); f_mtc_check_response ( v_mxA, c_statusLine200, PX_RCSE_B ); f_mtc_userSubscribeToPresenceResourceList(v_ueA);//Test Sequence Step 3 //check 2 - SUBSCRIBE Loading Loading @@ -518,9 +526,7 @@ module AtsImsIot_TestCases_RCS { f_mtc_userRegistration(v_ueB, v_userInfoB); // test body f_mtc_StartAllTrafficCapture(); f_mtc_userPublishPresence(v_ueB);//Test Sequence Step 1 f_mtc_triggerUserCommand ( v_ueB, "publish presence and capability information"); f_mtc_userCheckPresenceStatus(v_ueB);//Test Sequence Step 2 Loading Loading @@ -595,6 +601,16 @@ module AtsImsIot_TestCases_RCS { f_mtc_check_invite_mx(v_mxB); f_mtc_check_TP_IMS_5108_03_isc(v_iscB, false, 0); // Check 2 // check MESSAGE + 200 OK exchange f_mtc_check_message ( v_gmB ); f_mtc_check_message ( v_iscB ); f_mtc_check_message ( v_iscA ); f_mtc_check_message ( v_gmA ); f_mtc_check_response_mx ( v_gmA, c_statusLine200 ); f_mtc_check_response_mx ( v_iscA, c_statusLine200 ); f_mtc_check_response_mx ( v_iscB, c_statusLine200 ); f_mtc_check_response_mx ( v_gmB, c_statusLine200 ); f_mtc_userCheckChatInfo(v_ueB); //Test Sequence Step 2 f_mtc_userCheckPeerChatInfo(v_ueA); //Test Sequence Step 3 f_mtc_userAnswerChat(v_ueB); //Test Sequence Step 4 Loading Loading @@ -670,6 +686,16 @@ module AtsImsIot_TestCases_RCS { f_mtc_check_invite_mx(v_mxB); f_mtc_check_TP_IMS_5097_09_isc(v_iscB, false); // Check3 // check MESSAGE + 200 OK exchange f_mtc_check_message ( v_gmB ); f_mtc_check_message ( v_iscB ); f_mtc_check_message ( v_iscA ); f_mtc_check_message ( v_gmA ); f_mtc_check_response_mx ( v_gmA, c_statusLine200 ); f_mtc_check_response_mx ( v_iscA, c_statusLine200 ); f_mtc_check_response_mx ( v_iscB, c_statusLine200 ); f_mtc_check_response_mx ( v_gmB, c_statusLine200 ); f_mtc_userCheckChatInfo(v_ueA); //Test Sequence Step 2 f_mtc_userCheckPeerChatInfo(v_ueB); //Test Sequence Step 3 f_mtc_userAnswerChat(v_ueA); //Test Sequence Step 4 Loading Loading @@ -736,6 +762,16 @@ module AtsImsIot_TestCases_RCS { f_mtc_check_invite_mx(v_mxB); f_mtc_check_TP_IMS_5108_03_isc(v_iscB, false, 0); // Check 2 // check MESSAGE + 200 OK exchange f_mtc_check_message ( v_gmB ); f_mtc_check_message ( v_iscB ); f_mtc_check_message ( v_iscA ); f_mtc_check_message ( v_gmA ); f_mtc_check_response_mx ( v_gmA, c_statusLine200 ); f_mtc_check_response_mx ( v_iscA, c_statusLine200 ); f_mtc_check_response_mx ( v_iscB, c_statusLine200 ); f_mtc_check_response_mx ( v_gmB, c_statusLine200 ); f_mtc_userCheckAutomaticalyAcceptedChat(v_ueB); //Test Sequence Step 2 // checks 3 (2xx) Loading Loading @@ -808,6 +844,16 @@ module AtsImsIot_TestCases_RCS { f_mtc_check_invite_mx(v_mxB); f_mtc_check_TP_IMS_5097_09_isc(v_iscB, false); // Check3 // check MESSAGE + 200 OK exchange f_mtc_check_message ( v_gmB ); f_mtc_check_message ( v_iscB ); f_mtc_check_message ( v_iscA ); f_mtc_check_message ( v_gmA ); f_mtc_check_response_mx ( v_gmA, c_statusLine200 ); f_mtc_check_response_mx ( v_iscA, c_statusLine200 ); f_mtc_check_response_mx ( v_iscB, c_statusLine200 ); f_mtc_check_response_mx ( v_gmB, c_statusLine200 ); f_mtc_userCheckAutomaticalyAcceptedChat(v_ueB); //Test Sequence Step 2 f_mtc_userCheckChating(v_ueB,v_ueA); //Test Sequence Step 3 Loading @@ -834,7 +880,7 @@ module AtsImsIot_TestCases_RCS { * User B rejects the chat invitation. * @see TS 102 901-2 V0.0.1 clause 4.5.2.1.5 */ testcase TC_IMS_CHAT_0005() runs on ImsTestCoordinator system IotSystemInterface { testcase TC_IMS_CHAT_0005_RemovedInRel_e ( ) runs on ImsTestCoordinator system IotSystemInterface { // create components var IotEquipmentUser v_ueA := f_cf_create_IotEquipmentUser(c_userUE_A); var IotEquipmentUser v_ueB := f_cf_create_IotEquipmentUser(c_userUE_B); Loading Loading @@ -900,7 +946,7 @@ module AtsImsIot_TestCases_RCS { * be performed. User B rejects the chat invitation. * @see TS 102 901-2 V0.0.1 clause 4.5.2.1.6 */ testcase TC_IMS_CHAT_0006() runs on ImsTestCoordinator system IotSystemInterface { testcase TC_IMS_CHAT_0006_RemovedInRel_e ( ) runs on ImsTestCoordinator system IotSystemInterface { // create components var IotEquipmentUser v_ueA := f_cf_create_IotEquipmentUser(c_userUE_A); var IotEquipmentUser v_ueB := f_cf_create_IotEquipmentUser(c_userUE_B); Loading Loading @@ -1674,7 +1720,6 @@ module AtsImsIot_TestCases_RCS { f_cf_adapter_down(); } //end testcase TC_IMS_CHAT_0016 /** * @desc IMS network supports file transfer service and file between two users * in their home network can be performed. User B must explicitly accept Loading @@ -1695,7 +1740,6 @@ module AtsImsIot_TestCases_RCS { var ImsInterfaceMonitor v_mxB := f_cf_create_monitor(c_mx_B); var CF_INT_AS v_config := {v_gmA, v_mxA, v_ic, v_mxB, v_gmB, omit, v_iscB}; // map/connect component ports f_cf_adapter_up(); f_cf_user_up(v_ueA); Loading Loading @@ -1745,7 +1789,6 @@ module AtsImsIot_TestCases_RCS { f_cf_adapter_down(); } //end testcase TC_IMS_FILE_0001 /** * @desc IMS network supports file transfer service and file transfer between * two users, one user in its home network and one user roaming can be Loading Loading
AtsImsIot/AtsImsIot_Behavior.ttcn +6 −0 Original line number Diff line number Diff line Loading @@ -4630,6 +4630,12 @@ group checksTC_IMS_SHARE_0009 { p_monitorCompRef.done; } function f_mtc_check_message ( ImsInterfaceMonitor p_monitorCompRef ) runs on ImsTestCoordinator { p_monitorCompRef.start ( f_imsIot_receive ( { mw_SipRequest ( mw_MESSAGE_Request_Base ) }, { }, { 0, omit }, "f_mtc_check_message", false, false ) ); p_monitorCompRef.done; } function f_mtc_check_message_mx( ImsInterfaceMonitor p_monitorCompRef ) runs on ImsTestCoordinator { Loading
AtsImsIot/AtsImsIot_Functions.ttcn +10 −23 Original line number Diff line number Diff line Loading @@ -668,14 +668,15 @@ module AtsImsIot_Functions { } /** * @desc Trigger UE given by p_ueRef to send SIP OPTIONS message * @desc Trigger UE given by p_ueRef to send the required message indicated by p_command * @param p_userCompRef Reference to IMS UE user component * @param p_command Required Message to be sent * @return * true in case of successfull execution of the trigger command * otherwise false */ function f_mtc_triggerUserOptions ( EquipmentUser p_userCompRef, EquipmentCommand p_command ) runs on ImsTestCoordinator return boolean { function f_mtc_triggerUserCommand ( EquipmentUser p_userCompRef, EquipmentCommand p_command ) runs on TestCoordinator return boolean { var boolean v_success := false; p_userCompRef.start ( f_sendEquipmentCmd ( valueof ( m_EQ_Request ( p_command, { } ) ) ) ); p_userCompRef.done; Loading @@ -683,20 +684,6 @@ module AtsImsIot_Functions { return v_success; } /** * @desc Trigger UE given by p_ueRef to publishes presence information * @param p_userCompRef Reference to IMS UE user component * @return * true in case of successfull execution of the trigger command * otherwise false */ function f_mtc_userPublishPresence(EquipmentUser p_userCompRef) runs on TestCoordinator return boolean { var boolean v_status := true; // TODO return v_status; } /** * @desc Trigger UE given by p_ueRef to Verify that user is informed * of its presence status update Loading
AtsImsIot/AtsImsIot_TestCases_ENUM.ttcn +1 −1 Original line number Diff line number Diff line Loading @@ -19,7 +19,7 @@ module AtsImsIot_TestCases_ENUM { /** * @desc ENUM query should result in return of NAPTR with correct SIP URI */ testcase TD_IMS_ENUM_0001 ( ) runs on ImsTestCoordinator system IotSystemInterface { testcase TC_IMS_ENUM_0001 ( ) runs on ImsTestCoordinator system IotSystemInterface { var CF_INT_CALL v_config; var ImsUserInfo v_userInfoA := f_getSipUserId ( PX_EUT_A ); var ImsUserInfo v_userInfoB := f_getSipUserId ( PX_EUT_B ); Loading
AtsImsIot/AtsImsIot_TestCases_RCS.ttcn +114 −71 Original line number Diff line number Diff line Loading @@ -57,7 +57,7 @@ module AtsImsIot_TestCases_RCS { f_mtc_userRegistration ( v_ueB, v_userInfoB ); // test body f_mtc_triggerUserOptions ( v_ueA, "select a contact of user B" ); // Trigger UE A to send OPTIONS to UE B f_mtc_triggerUserCommand ( v_ueA, "select a contact of user B" ); // Trigger UE A to send OPTIONS to UE B // check (OPTIONS + 200 OK exchange) f_mtc_check_options ( v_config.mxB, PX_RCSE_A ); Loading Loading @@ -107,7 +107,7 @@ module AtsImsIot_TestCases_RCS { f_mtc_userRegistration ( v_ueB, v_userInfoB ); // test body f_mtc_triggerUserOptions ( v_ueA, "select a contact of user B" ); // Trigger UE A to send OPTIONS to UE B f_mtc_triggerUserCommand ( v_ueA, "select a contact of user B" ); // Trigger UE A to send OPTIONS to UE B // check (OPTIONS + 200 OK exchange) f_mtc_check_options ( v_config.mxB, PX_RCSE_A ); Loading Loading @@ -155,7 +155,7 @@ module AtsImsIot_TestCases_RCS { f_mtc_userRegistration ( v_ueA, v_userInfoA ); // test body f_mtc_triggerUserOptions ( v_ueA, "select a contact of user B" ); // Trigger UE A to send OPTIONS to UE B f_mtc_triggerUserCommand ( v_ueA, "select a contact of user B" ); // Trigger UE A to send OPTIONS to UE B // check (OPTIONS + 480 exchange) f_mtc_check_options ( v_config.mxB, PX_RCSE_A ); Loading Loading @@ -204,8 +204,8 @@ module AtsImsIot_TestCases_RCS { f_mtc_userRegistration ( v_ueB, v_userInfoB ); // test body f_mtc_triggerUserOptions ( v_ueB, "Force user B to be not provisionned for RCS-e" ); // Trigger UE B f_mtc_triggerUserOptions ( v_ueA, "select a contact of user B" ); // Trigger UE A to send OPTIONS to UE B f_mtc_triggerUserCommand ( v_ueB, "Force user B to be not provisionned for RCS-e" ); // Trigger UE B f_mtc_triggerUserCommand ( v_ueA, "select a contact of user B" ); // Trigger UE A to send OPTIONS to UE B // check (OPTIONS + 404 exchange) f_mtc_check_options ( v_config.mxB, PX_RCSE_A ); Loading @@ -229,18 +229,20 @@ module AtsImsIot_TestCases_RCS { * @see TS 102 901-2 V0.0.1 clause 4.5.1.1 */ testcase TC_IMS_PRES_0001() runs on ImsTestCoordinator system IotSystemInterface { // create components var IotEquipmentUser v_ueA := f_cf_create_IotEquipmentUser(c_userUE_A); var IotEquipmentUser v_ueB := f_cf_create_IotEquipmentUser(c_userUE_B); var ImsInterfaceMonitor v_gmA := f_cf_create_monitor(c_gm_A); var ImsInterfaceMonitor v_gmB := f_cf_create_monitor(c_gm_B); var ImsInterfaceMonitor v_ic := f_cf_create_monitor(c_ic); var ImsInterfaceMonitor v_iscB := f_cf_create_monitor(c_isc_B); var CF_ROAM_AS v_config; var ImsUserInfo v_userInfoA := f_getPresUser ( PX_EUT_A ); var ImsUserInfo v_userInfoB := f_getPresUser ( PX_EUT_B ); var ImsInterfaceMonitor v_mxA := f_cf_create_monitor(c_mx_A); var ImsInterfaceMonitor v_mxB := f_cf_create_monitor(c_mx_B); var CF_ROAM_AS v_config := {v_gmA, v_mxA, v_ic, v_mxB, v_gmB, omit, v_iscB}; var IotEquipmentUser v_ueA := f_cf_create_IotEquipmentUser ( c_userUE_A ); var IotEquipmentUser v_ueB := f_cf_create_IotEquipmentUser ( c_userUE_B ); // create components v_config.gmA := f_cf_create_monitor ( c_gm_A ); v_config.gmB := f_cf_create_monitor ( c_gm_B ); v_config.ici := f_cf_create_monitor ( c_ic ); v_config.mxA := f_cf_create_monitor ( c_mx_A ); v_config.mxB := f_cf_create_monitor ( c_mx_B ); v_config.iscA := omit; v_config.iscB := f_cf_create_monitor ( c_isc_B ); // map/connect component ports f_cf_adapter_up ( ); Loading @@ -253,35 +255,30 @@ module AtsImsIot_TestCases_RCS { f_mtc_userRegistration ( v_ueB, v_userInfoB ); // test body f_mtc_StartAllTrafficCapture(); f_mtc_userPublishPresence(v_ueB);//Test Sequence Step 1 // check - PUBLISH + 200 OK (from User B to IMS A that forwards it to AS B) f_mtc_triggerUserCommand ( v_ueB, "publish presence and capability information"); f_mtc_check_publish_mx ( v_config.mxB ); f_mtc_check_response_mx ( v_config.mxB, c_statusLine200 ); //check 1 - PUBLISH f_mtc_check_publish_mx(v_mxA); f_mtc_check_TP_IMS_5097_13_ic(v_ic, false); // Check1 f_mtc_check_publish_mx(v_mxB); f_mtc_check_TP_IMS_5097_13_isc(v_iscB, false); // Check1 // check (OPTIONS + 200 OK exchange) f_mtc_triggerUserCommand ( v_ueA, "select a contact of user B" ); // Trigger UE A to send OPTIONS to UE B f_mtc_check_options ( v_config.mxB, PX_RCSE_A ); f_mtc_check_response ( v_config.mxA, c_statusLine200, PX_RCSE_B ); f_mtc_userCheckPresenceStatus(v_ueB);//Test Sequence Step 2 f_mtc_userSubscribeToPresenceInformation ( v_ueA ); // check - SUBSCRIBE (from User A to AS B) f_mtc_check_TP_IMS_5108_07_gm ( v_config.gmA, false ); f_mtc_check_subscribe_mx ( v_config.mxB ); f_mtc_check_TP_IMS_5108_07_isc ( v_config.iscB, false ); f_mtc_userSubscribeToPresenceInformation(v_ueA);//Test Sequence Step 3 // check - 200 OK f_mtc_check_response_mx ( v_config.mxB, c_statusLine200 ); f_mtc_check_response_mx ( v_config.mxA, c_statusLine200 ); //check 2 - SUBSCRIBE f_mtc_check_TP_IMS_5108_07_gm(v_gmA, false); // Check2 f_mtc_check_subscribe_mx(v_mxA); f_mtc_check_subscribe_mx(v_mxB); f_mtc_check_TP_IMS_5108_07_isc(v_iscB,false); // Check2 //check 3 - 200 OK f_mtc_check_TP_IMS_5115_08_isc(v_iscB, false); // Check3 f_mtc_check_response_mx(v_mxB, c_statusLine200); f_mtc_check_TP_IMS_5115_08_ic(v_ic, false, 0); // Check3 f_mtc_check_response_mx(v_mxA, c_statusLine200); f_mtc_userCheckPresenceAuthorizationRequest(v_ueB);//Test Sequence Step 4 f_mtc_userAuthorizationToPeer(v_ueB);//Test Sequence Step 5 f_mtc_userCheckPresenceInformation(v_ueA);//Test Sequence Step 6 f_mtc_triggerUserCommand ( v_ueB, "verify reception of an authorization request from user A"); f_mtc_userAuthorizationToPeer ( v_ueB ); f_mtc_userCheckPresenceInformation ( v_ueA ); // postamble f_PO_user_home_deregistration ( v_ueA ); Loading @@ -292,6 +289,7 @@ module AtsImsIot_TestCases_RCS { f_cf_user_down ( v_ueB ); f_cf_roam_as_down ( v_config ); f_cf_adapter_down ( ); } //end testcase TC_IMS_PRES_0001 /** Loading Loading @@ -326,14 +324,16 @@ module AtsImsIot_TestCases_RCS { f_mtc_userRegistration(v_ueB, v_userInfoB); // test body f_mtc_StartAllTrafficCapture(); f_mtc_userPublishPresence(v_ueB);//Test Sequence Step 1 f_mtc_triggerUserCommand ( v_ueB, "publish presence and capability information"); f_mtc_userCheckPresenceStatus(v_ueB);//Test Sequence Step 2 f_mtc_userSubscribeToPresenceInformation(v_ueA);//Test Sequence Step 3 // check (OPTIONS + 200 OK exchange) f_mtc_triggerUserCommand ( v_ueA, "select a contact of user B" ); // Trigger UE A to send OPTIONS to UE B f_mtc_check_options ( v_mxB, PX_RCSE_A ); f_mtc_check_response ( v_mxA, c_statusLine200, PX_RCSE_B ); //check 1 - SUBSCRIBE f_mtc_check_TP_IMS_5108_07_gm(v_gmA, false); // Check1 f_mtc_check_subscribe_mx(v_mxA); Loading @@ -346,7 +346,7 @@ module AtsImsIot_TestCases_RCS { f_mtc_check_TP_IMS_5115_08_ic(v_ic, false, 0); // Check2 f_mtc_check_response_mx(v_mxA, c_statusLine200); f_mtc_userCheckPresenceAuthorizationRequest(v_ueB);//Test Sequence Step 4 f_mtc_triggerUserCommand ( v_ueB, "verify reception of an authorization request from user A"); f_mtc_userAuthorizationToPeer(v_ueB);//Test Sequence Step 5 f_mtc_userCheckPresenceInformation(v_ueA);//Test Sequence Step 6 Loading Loading @@ -395,6 +395,11 @@ module AtsImsIot_TestCases_RCS { // test body f_mtc_StartAllTrafficCapture(); // check (OPTIONS + 200 OK exchange) f_mtc_triggerUserCommand ( v_ueA, "select a contact of user B" ); // Trigger UE A to send OPTIONS to UE B f_mtc_check_options ( v_mxB, PX_RCSE_A ); f_mtc_check_response ( v_mxA, c_statusLine200, PX_RCSE_B ); f_mtc_userSubscribeToPresenceInformation(v_ueA);//Test Sequence Step 1 //check 1 - SUBSCRIBE Loading Loading @@ -447,9 +452,7 @@ module AtsImsIot_TestCases_RCS { f_mtc_userRegistration(v_ueB, v_userInfoB); // test body f_mtc_StartAllTrafficCapture(); f_mtc_userPublishPresence(v_ueB);//Test Sequence Step 1 f_mtc_triggerUserCommand ( v_ueB, "publish presence and capability information"); //check 1 - PUBLISH f_mtc_check_publish_mx(v_mxA); Loading @@ -459,6 +462,11 @@ module AtsImsIot_TestCases_RCS { f_mtc_userCheckPresenceStatus(v_ueB);//Test Sequence Step 2 // check (OPTIONS + 200 OK exchange) f_mtc_triggerUserCommand ( v_ueA, "select a contact of user B" ); // Trigger UE A to send OPTIONS to UE B f_mtc_check_options ( v_mxB, PX_RCSE_A ); f_mtc_check_response ( v_mxA, c_statusLine200, PX_RCSE_B ); f_mtc_userSubscribeToPresenceResourceList(v_ueA);//Test Sequence Step 3 //check 2 - SUBSCRIBE Loading Loading @@ -518,9 +526,7 @@ module AtsImsIot_TestCases_RCS { f_mtc_userRegistration(v_ueB, v_userInfoB); // test body f_mtc_StartAllTrafficCapture(); f_mtc_userPublishPresence(v_ueB);//Test Sequence Step 1 f_mtc_triggerUserCommand ( v_ueB, "publish presence and capability information"); f_mtc_userCheckPresenceStatus(v_ueB);//Test Sequence Step 2 Loading Loading @@ -595,6 +601,16 @@ module AtsImsIot_TestCases_RCS { f_mtc_check_invite_mx(v_mxB); f_mtc_check_TP_IMS_5108_03_isc(v_iscB, false, 0); // Check 2 // check MESSAGE + 200 OK exchange f_mtc_check_message ( v_gmB ); f_mtc_check_message ( v_iscB ); f_mtc_check_message ( v_iscA ); f_mtc_check_message ( v_gmA ); f_mtc_check_response_mx ( v_gmA, c_statusLine200 ); f_mtc_check_response_mx ( v_iscA, c_statusLine200 ); f_mtc_check_response_mx ( v_iscB, c_statusLine200 ); f_mtc_check_response_mx ( v_gmB, c_statusLine200 ); f_mtc_userCheckChatInfo(v_ueB); //Test Sequence Step 2 f_mtc_userCheckPeerChatInfo(v_ueA); //Test Sequence Step 3 f_mtc_userAnswerChat(v_ueB); //Test Sequence Step 4 Loading Loading @@ -670,6 +686,16 @@ module AtsImsIot_TestCases_RCS { f_mtc_check_invite_mx(v_mxB); f_mtc_check_TP_IMS_5097_09_isc(v_iscB, false); // Check3 // check MESSAGE + 200 OK exchange f_mtc_check_message ( v_gmB ); f_mtc_check_message ( v_iscB ); f_mtc_check_message ( v_iscA ); f_mtc_check_message ( v_gmA ); f_mtc_check_response_mx ( v_gmA, c_statusLine200 ); f_mtc_check_response_mx ( v_iscA, c_statusLine200 ); f_mtc_check_response_mx ( v_iscB, c_statusLine200 ); f_mtc_check_response_mx ( v_gmB, c_statusLine200 ); f_mtc_userCheckChatInfo(v_ueA); //Test Sequence Step 2 f_mtc_userCheckPeerChatInfo(v_ueB); //Test Sequence Step 3 f_mtc_userAnswerChat(v_ueA); //Test Sequence Step 4 Loading Loading @@ -736,6 +762,16 @@ module AtsImsIot_TestCases_RCS { f_mtc_check_invite_mx(v_mxB); f_mtc_check_TP_IMS_5108_03_isc(v_iscB, false, 0); // Check 2 // check MESSAGE + 200 OK exchange f_mtc_check_message ( v_gmB ); f_mtc_check_message ( v_iscB ); f_mtc_check_message ( v_iscA ); f_mtc_check_message ( v_gmA ); f_mtc_check_response_mx ( v_gmA, c_statusLine200 ); f_mtc_check_response_mx ( v_iscA, c_statusLine200 ); f_mtc_check_response_mx ( v_iscB, c_statusLine200 ); f_mtc_check_response_mx ( v_gmB, c_statusLine200 ); f_mtc_userCheckAutomaticalyAcceptedChat(v_ueB); //Test Sequence Step 2 // checks 3 (2xx) Loading Loading @@ -808,6 +844,16 @@ module AtsImsIot_TestCases_RCS { f_mtc_check_invite_mx(v_mxB); f_mtc_check_TP_IMS_5097_09_isc(v_iscB, false); // Check3 // check MESSAGE + 200 OK exchange f_mtc_check_message ( v_gmB ); f_mtc_check_message ( v_iscB ); f_mtc_check_message ( v_iscA ); f_mtc_check_message ( v_gmA ); f_mtc_check_response_mx ( v_gmA, c_statusLine200 ); f_mtc_check_response_mx ( v_iscA, c_statusLine200 ); f_mtc_check_response_mx ( v_iscB, c_statusLine200 ); f_mtc_check_response_mx ( v_gmB, c_statusLine200 ); f_mtc_userCheckAutomaticalyAcceptedChat(v_ueB); //Test Sequence Step 2 f_mtc_userCheckChating(v_ueB,v_ueA); //Test Sequence Step 3 Loading @@ -834,7 +880,7 @@ module AtsImsIot_TestCases_RCS { * User B rejects the chat invitation. * @see TS 102 901-2 V0.0.1 clause 4.5.2.1.5 */ testcase TC_IMS_CHAT_0005() runs on ImsTestCoordinator system IotSystemInterface { testcase TC_IMS_CHAT_0005_RemovedInRel_e ( ) runs on ImsTestCoordinator system IotSystemInterface { // create components var IotEquipmentUser v_ueA := f_cf_create_IotEquipmentUser(c_userUE_A); var IotEquipmentUser v_ueB := f_cf_create_IotEquipmentUser(c_userUE_B); Loading Loading @@ -900,7 +946,7 @@ module AtsImsIot_TestCases_RCS { * be performed. User B rejects the chat invitation. * @see TS 102 901-2 V0.0.1 clause 4.5.2.1.6 */ testcase TC_IMS_CHAT_0006() runs on ImsTestCoordinator system IotSystemInterface { testcase TC_IMS_CHAT_0006_RemovedInRel_e ( ) runs on ImsTestCoordinator system IotSystemInterface { // create components var IotEquipmentUser v_ueA := f_cf_create_IotEquipmentUser(c_userUE_A); var IotEquipmentUser v_ueB := f_cf_create_IotEquipmentUser(c_userUE_B); Loading Loading @@ -1674,7 +1720,6 @@ module AtsImsIot_TestCases_RCS { f_cf_adapter_down(); } //end testcase TC_IMS_CHAT_0016 /** * @desc IMS network supports file transfer service and file between two users * in their home network can be performed. User B must explicitly accept Loading @@ -1695,7 +1740,6 @@ module AtsImsIot_TestCases_RCS { var ImsInterfaceMonitor v_mxB := f_cf_create_monitor(c_mx_B); var CF_INT_AS v_config := {v_gmA, v_mxA, v_ic, v_mxB, v_gmB, omit, v_iscB}; // map/connect component ports f_cf_adapter_up(); f_cf_user_up(v_ueA); Loading Loading @@ -1745,7 +1789,6 @@ module AtsImsIot_TestCases_RCS { f_cf_adapter_down(); } //end testcase TC_IMS_FILE_0001 /** * @desc IMS network supports file transfer service and file transfer between * two users, one user in its home network and one user roaming can be Loading