Loading AtsImsIot/AtsImsIot_Behavior.ttcn +146 −17 Original line number Diff line number Diff line Loading @@ -96,7 +96,7 @@ module AtsImsIot_Behavior { repeat; } [] tc_wait.timeout { //TODO use oracle setverdict(inconc, "***f_gen_receive: Timer tc_wait expired when waiting for incoming message in " & p_tpId & " at interface " & vc_interfaceName & " ****"); setverdict(fail, "***f_gen_receive: Timer tc_wait expired when waiting for incoming message in " & p_tpId & " at interface " & vc_interfaceName & " ****"); } } Loading Loading @@ -986,6 +986,135 @@ group checksTC_IMS_CALL_0001F { } //function /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5107_02_gm( ImsInterfaceMonitor p_monitorCompRef ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mw_ACK_Request_Base(?))}, {}, "TP_IMS_5107_02", "ACK request", 0, false ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5107_02_mw( ImsInterfaceMonitor p_monitorCompRef ) runs on ImsTestCoordinator { var SipMessage v_sip; var template SipUrl v_scscfEutAUrl := mw_SipUrl_Host(f_GetEUTScscfAddress(PX_EUT_A)); var Route v_Route; var template Route vt_scscfRoute := { fieldName := ROUTE_E, routeBody := {mw_routeBody(v_scscfEutAUrl), *} }; p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mw_ACK_Request_Base(?))}, {}, "TP_IMS_5107_02", "ACK request", 0, true ) ); p_monitorCompRef.done; f_getSipMsgFromMonitor(p_monitorCompRef, v_sip); v_Route := v_sip.request.msgHeader.route; // Check Route header: NOT containing S-CSCF of IMS_A if (match(v_Route, vt_scscfRoute)) { f_setIotVerdictFAIL("TP_IMS_5107_02"); } } //function /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5107_01_gm( ImsInterfaceMonitor p_monitorCompRef ) runs on ImsTestCoordinator { var SipMessage v_sip; var template SipUrl v_scscfEutAUrl := mw_SipUrl_Host(f_GetEUTScscfAddress(PX_EUT_A)); var Route v_Route; var template Route vt_scscfRoute := { fieldName := ROUTE_E, routeBody := {mw_routeBody(v_scscfEutAUrl), *} }; p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mw_BYE_Request_Base(?))}, {}, "TP_IMS_5107_01", "BYE request", 0, true ) ); p_monitorCompRef.done; f_getSipMsgFromMonitor(p_monitorCompRef, v_sip); v_Route := v_sip.request.msgHeader.route; // Check Route header: NOT containing S-CSCF of IMS_A if (match(v_Route, vt_scscfRoute)) { f_setIotVerdictFAIL("TP_IMS_5107_02"); } } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5107_01_mw( ImsInterfaceMonitor p_monitorCompRef ) runs on ImsTestCoordinator { var SipMessage v_sip; var PChargingVector v_PChargingVector; var template SipUrl v_scscfEutAUrl := mw_SipUrl_Host(f_GetEUTScscfAddress(PX_EUT_A)); var Route v_Route; var template Route vt_scscfRoute := { fieldName := ROUTE_E, routeBody := {mw_routeBody(v_scscfEutAUrl), *} }; p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mw_BYE_Request_Base(?))}, {}, "TP_IMS_5107_01", "BYE request", 0, true ) ); p_monitorCompRef.done; f_getSipMsgFromMonitor(p_monitorCompRef, v_sip); v_Route := v_sip.request.msgHeader.route; // Check Route header: NOT containing S-CSCF of IMS_A if (match(v_Route, vt_scscfRoute)) { f_setIotVerdictFAIL("TP_IMS_5107_02"); } } //function } // group Loading Loading @@ -1021,10 +1150,10 @@ group checksTC_IMS_SS_0001 { p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_5310_01_mw)}, {}, {mw_SipRequest(mw_INVITE_Request_Base)}, "TP_IMS_5310_01", "INVITE request", 0, 1, // TODO skip 1 INVITE on MW false ) ); Loading @@ -1034,12 +1163,12 @@ group checksTC_IMS_SS_0001 { * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5310_01_as( function f_mtc_check_TP_IMS_5310_01_isc( ImsInterfaceMonitor p_monitorCompRef ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_5310_01_as)}, {mw_SipRequest(mdw_TP_IMS_5310_01_isc)}, {}, "TP_IMS_5310_01", "INVITE request", Loading @@ -1054,16 +1183,16 @@ group checksTC_IMS_SS_0001 { * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5308_02_mw( function f_mtc_check_TP_IMS_5312_01_mw( ImsInterfaceMonitor p_monitorCompRef ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_5308_02_mw)}, {mw_SipResponse(mdw_TP_IMS_5312_01_mw)}, {}, "TP_IMS_5308_02", "INVITE request", 0, "mdw_TP_IMS_5312_01", "200OK", 1, // skip 1 200 OK false ) ); Loading @@ -1073,15 +1202,15 @@ group checksTC_IMS_SS_0001 { * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5308_02_as( function f_mtc_check_TP_IMS_5312_01_isc( ImsInterfaceMonitor p_monitorCompRef ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_5308_02_as)}, {mw_SipResponse(mdw_TP_IMS_5312_01_isc)}, {}, "TP_IMS_5308_02", "INVITE request", "TP_IMS_5312_01", "200OK", 0, false ) Loading Loading @@ -1165,7 +1294,7 @@ group checksTC_IMS_SS_0007 { /** * @desc Starts monitor component */ function f_mtc_check_TP_IMS_5110_01_as( function f_mtc_check_TP_IMS_5110_01_isc( ImsInterfaceMonitor p_monitorCompRef) runs on ImsTestCoordinator { Loading Loading @@ -1205,13 +1334,13 @@ group checksTC_IMS_SS_0007 { * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5097_09_as( function f_mtc_check_TP_IMS_5097_09_isc( ImsInterfaceMonitor p_monitorCompRef ) runs on ImsTestCoordinator { var template SipUrl v_EutB_ASUrl := mw_SipUrl_Host(f_GetEUTASServerAddress(PX_EUT_B)); p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_5097_09_as(v_EutB_ASUrl))}, {mw_SipRequest(mdw_TP_IMS_5097_09_isc(v_EutB_ASUrl))}, {}, "TP_IMS_5097_09", "INVITE request", Loading AtsImsIot/AtsImsIot_Templates.ttcn +9 −9 Original line number Diff line number Diff line Loading @@ -275,7 +275,7 @@ module AtsImsIot_Templates { * * @desc INVITE Request checking TP_IMS_5310_01 on AS */ template INVITE_Request mdw_TP_IMS_5310_01_as template INVITE_Request mdw_TP_IMS_5310_01_isc modifies mw_INVITE_Request_Base := { msgHeader := { pChargingVector := mw_PChargingVector({ Loading @@ -287,10 +287,10 @@ module AtsImsIot_Templates { /** * * @desc INVITE Request checking TP_IMS_5308_02 on MW * @desc INVITE Request checking TP_IMS_5312_01 on MW */ template INVITE_Request mdw_TP_IMS_5308_02_mw modifies mw_INVITE_Request_Base := { template Response mdw_TP_IMS_5312_01_mw modifies mw_200OK_Base := { msgHeader := { pChargingVector := mw_PChargingVector({ {id := "access-network-charging-info", paramValue := *}, Loading @@ -300,10 +300,10 @@ module AtsImsIot_Templates { } /** * * @desc INVITE Request checking TP_IMS_5308_02 on AS * @desc INVITE Request checking TP_IMS_5312_01 on AS */ template INVITE_Request mdw_TP_IMS_5308_02_as modifies mw_INVITE_Request_Base := { template Response mdw_TP_IMS_5312_01_isc modifies mw_200OK_Base := { msgHeader := { pChargingVector := mw_PChargingVector({ {id := "access-network-charging-info", paramValue := *}, Loading @@ -319,7 +319,7 @@ module AtsImsIot_Templates { * * @desc INVITE Request checking TP_IMS_5097_09 */ template INVITE_Request mdw_TP_IMS_5097_09_as (template SipUrl p_EutB_ASUri) template INVITE_Request mdw_TP_IMS_5097_09_isc (template SipUrl p_EutB_ASUri) modifies mw_INVITE_Request_Base := { msgHeader := { route := { Loading AtsImsIot/AtsImsIot_TestCases.ttcn +36 −19 Original line number Diff line number Diff line Loading @@ -53,9 +53,6 @@ module AtsImsIot_TestCases { //* eut trigger name User B const charstring c_userUE_B := "User B"; const charstring c_userUE_B2 := "User B2"; //* interface monitor name AS A const charstring c_as_A := "AS A"; const charstring c_as_B := "AS B"; } /** Loading Loading @@ -440,9 +437,14 @@ module AtsImsIot_TestCases { // test body f_mtc_userInitiateCall (v_ueA, v_userInfoB); f_mtc_check_TP_IMS_5097_01_gm(v_gmA); // Check1 f_mtc_check_TP_IMS_5097_01_gm(v_gmA); // Check1 (at step 4) f_mtc_check_TP_IMS_5097_01_mw(v_mw); // Check1 f_mtc_check_TP_IMS_5107_02_gm(v_mw); // Check2 (at step 28) f_mtc_check_TP_IMS_5107_02_mw(v_mw); // Check2 // postamble f_PO_user_home_deregistration(v_ueA); f_PO_user_home_deregistration(v_ueB); Loading @@ -464,33 +466,48 @@ module AtsImsIot_TestCases { 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_mw := f_cf_create_monitor(c_mw); var ImsInterfaceMonitor v_asB := f_cf_create_monitor(c_as_B); var ImsInterfaceMonitor v_iscB := f_cf_create_monitor(c_isc_B); var ImsUserInfo v_userInfoA := f_getAnyValidUser(PX_EUT_A); var ImsUserInfo v_userInfoB := f_getAnyValidUser(PX_EUT_B); var ImsUserInfo v_userInfoB := f_getAnyValidUser(PX_EUT_B); //@@ f_getHoldUser(PX_EUT_B); // map/connect component ports f_cf_user_up(v_ueA); f_cf_user_up(v_ueB); f_cf_monitor_up(v_gmA); f_cf_monitor_up(v_mw); f_cf_monitor_up(v_asB); f_cf_monitor_up(v_iscB); // // preamble f_mtc_userTriggerRegistration(v_ueA, v_userInfoA); f_mtc_userTriggerRegistration(v_ueB, v_userInfoB); // test body // f_mtc_StartAllTrafficCapture(); f_mtc_userInitiateCall (v_ueA, v_userInfoB); f_mtc_check_TP_IMS_5310_01_gm(v_gmA); // Check1 // f_mtc_userCheckRinging(v_ueB, ???); // f_mtc_userCheckRinging(v_ueA, ???)); // f_mtc_userTriggerAnswer(v_ueB, ???); // f_mtc_userCheckCallEstablished(v_ueA, ???); // f_mtc_userCheckCallEstablished(v_ueB, ???)); // f_mtc_userTriggerHold(v_ueB, ???); f_mtc_check_TP_IMS_5310_01_mw(v_mw); // Check1 f_mtc_check_TP_IMS_5310_01_as(v_asB); // Check1 f_mtc_check_TP_IMS_5310_01_isc(v_iscB); // Check1 f_mtc_check_TP_IMS_5308_02_mw(v_mw); // Check2 f_mtc_check_TP_IMS_5308_02_as(v_asB); // Check2 // f_mtc_userCheckUserOnHold(v_ueA, ???)); // f_mtc_userCheckUserOnHold(v_ueB, ???)); // f_mtc_userTriggerResume(v_ueB, ???); // f_mtc_userCheckCallResumed(v_ueA, ???)); f_mtc_check_TP_IMS_5312_01_mw(v_mw); // Check2 f_mtc_check_TP_IMS_5312_01_isc(v_iscB); // Check2 // Check3 is not correctly described // TODO Verify user B is informed of incoming call, Verify user A is informed that UE_B is ringing // f_mtc_userCheckCallResumed(v_ueB, ???)); // f_mtc_triggerEndCall(v_ueA, ???)); // f_mtc_userCheckCallEnded(v_ueB, ???)); // f_mtc_userCheckCallEnded(v_ueA, ???)); // postamble f_PO_user_home_deregistration(v_ueA); Loading @@ -513,7 +530,7 @@ module AtsImsIot_TestCases { var IotEquipmentUser v_ueB2 := f_cf_create_IotEquipmentUser(c_userUE_B2); var ImsInterfaceMonitor v_gmA := f_cf_create_monitor(c_gm_A); var ImsInterfaceMonitor v_mw := f_cf_create_monitor(c_mw); var ImsInterfaceMonitor v_asB := f_cf_create_monitor(c_as_B); var ImsInterfaceMonitor v_iscB := f_cf_create_monitor(c_isc_B); var ImsUserInfo v_userInfoA := f_getAnyValidUser(PX_EUT_A); var ImsUserInfo v_userInfoB := f_getAnyValidUser(PX_EUT_B); var ImsUserInfo v_userInfoB2 := f_getAnyValidUser(PX_EUT_B); //// TODO f_getAnyValidUser2 ? Loading @@ -524,7 +541,7 @@ module AtsImsIot_TestCases { f_cf_user_up(v_ueB2); f_cf_monitor_up(v_gmA); f_cf_monitor_up(v_mw); f_cf_monitor_up(v_asB); f_cf_monitor_up(v_iscB); // preamble f_mtc_userTriggerRegistration(v_ueA, v_userInfoA); Loading @@ -536,11 +553,11 @@ module AtsImsIot_TestCases { f_mtc_check_TP_IMS_5046_01_gm(v_gmA); f_mtc_check_TP_IMS_5046_01_mw(v_mw); // Check1 // Check2 TP_IMS_5067_01 ? is already covered in TP_IMS_5046_01 f_mtc_check_TP_IMS_5046_01_mw (v_asB); f_mtc_check_TP_IMS_5046_01_mw (v_iscB); f_mtc_check_TP_IMS_5097_09_as(v_asB); // Check5 on AS (step 6? in the message sequence) f_mtc_check_TP_IMS_5097_09_isc(v_iscB); // Check5 on AS (step 6? in the message sequence) f_mtc_check_TP_IMS_5110_01_as(v_asB); // Check4 on AS (step 19 in the message sequence) f_mtc_check_TP_IMS_5110_01_isc(v_iscB); // Check4 on AS (step 19 in the message sequence) f_mtc_check_TP_IMS_5110_01_mw(v_mw); // Check4 on MW (step 20 in the message sequence) // TODO checks 6, 7 Loading Loading
AtsImsIot/AtsImsIot_Behavior.ttcn +146 −17 Original line number Diff line number Diff line Loading @@ -96,7 +96,7 @@ module AtsImsIot_Behavior { repeat; } [] tc_wait.timeout { //TODO use oracle setverdict(inconc, "***f_gen_receive: Timer tc_wait expired when waiting for incoming message in " & p_tpId & " at interface " & vc_interfaceName & " ****"); setverdict(fail, "***f_gen_receive: Timer tc_wait expired when waiting for incoming message in " & p_tpId & " at interface " & vc_interfaceName & " ****"); } } Loading Loading @@ -986,6 +986,135 @@ group checksTC_IMS_CALL_0001F { } //function /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5107_02_gm( ImsInterfaceMonitor p_monitorCompRef ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mw_ACK_Request_Base(?))}, {}, "TP_IMS_5107_02", "ACK request", 0, false ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5107_02_mw( ImsInterfaceMonitor p_monitorCompRef ) runs on ImsTestCoordinator { var SipMessage v_sip; var template SipUrl v_scscfEutAUrl := mw_SipUrl_Host(f_GetEUTScscfAddress(PX_EUT_A)); var Route v_Route; var template Route vt_scscfRoute := { fieldName := ROUTE_E, routeBody := {mw_routeBody(v_scscfEutAUrl), *} }; p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mw_ACK_Request_Base(?))}, {}, "TP_IMS_5107_02", "ACK request", 0, true ) ); p_monitorCompRef.done; f_getSipMsgFromMonitor(p_monitorCompRef, v_sip); v_Route := v_sip.request.msgHeader.route; // Check Route header: NOT containing S-CSCF of IMS_A if (match(v_Route, vt_scscfRoute)) { f_setIotVerdictFAIL("TP_IMS_5107_02"); } } //function /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5107_01_gm( ImsInterfaceMonitor p_monitorCompRef ) runs on ImsTestCoordinator { var SipMessage v_sip; var template SipUrl v_scscfEutAUrl := mw_SipUrl_Host(f_GetEUTScscfAddress(PX_EUT_A)); var Route v_Route; var template Route vt_scscfRoute := { fieldName := ROUTE_E, routeBody := {mw_routeBody(v_scscfEutAUrl), *} }; p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mw_BYE_Request_Base(?))}, {}, "TP_IMS_5107_01", "BYE request", 0, true ) ); p_monitorCompRef.done; f_getSipMsgFromMonitor(p_monitorCompRef, v_sip); v_Route := v_sip.request.msgHeader.route; // Check Route header: NOT containing S-CSCF of IMS_A if (match(v_Route, vt_scscfRoute)) { f_setIotVerdictFAIL("TP_IMS_5107_02"); } } /** * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5107_01_mw( ImsInterfaceMonitor p_monitorCompRef ) runs on ImsTestCoordinator { var SipMessage v_sip; var PChargingVector v_PChargingVector; var template SipUrl v_scscfEutAUrl := mw_SipUrl_Host(f_GetEUTScscfAddress(PX_EUT_A)); var Route v_Route; var template Route vt_scscfRoute := { fieldName := ROUTE_E, routeBody := {mw_routeBody(v_scscfEutAUrl), *} }; p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mw_BYE_Request_Base(?))}, {}, "TP_IMS_5107_01", "BYE request", 0, true ) ); p_monitorCompRef.done; f_getSipMsgFromMonitor(p_monitorCompRef, v_sip); v_Route := v_sip.request.msgHeader.route; // Check Route header: NOT containing S-CSCF of IMS_A if (match(v_Route, vt_scscfRoute)) { f_setIotVerdictFAIL("TP_IMS_5107_02"); } } //function } // group Loading Loading @@ -1021,10 +1150,10 @@ group checksTC_IMS_SS_0001 { p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_5310_01_mw)}, {}, {mw_SipRequest(mw_INVITE_Request_Base)}, "TP_IMS_5310_01", "INVITE request", 0, 1, // TODO skip 1 INVITE on MW false ) ); Loading @@ -1034,12 +1163,12 @@ group checksTC_IMS_SS_0001 { * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5310_01_as( function f_mtc_check_TP_IMS_5310_01_isc( ImsInterfaceMonitor p_monitorCompRef ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_5310_01_as)}, {mw_SipRequest(mdw_TP_IMS_5310_01_isc)}, {}, "TP_IMS_5310_01", "INVITE request", Loading @@ -1054,16 +1183,16 @@ group checksTC_IMS_SS_0001 { * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5308_02_mw( function f_mtc_check_TP_IMS_5312_01_mw( ImsInterfaceMonitor p_monitorCompRef ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_5308_02_mw)}, {mw_SipResponse(mdw_TP_IMS_5312_01_mw)}, {}, "TP_IMS_5308_02", "INVITE request", 0, "mdw_TP_IMS_5312_01", "200OK", 1, // skip 1 200 OK false ) ); Loading @@ -1073,15 +1202,15 @@ group checksTC_IMS_SS_0001 { * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5308_02_as( function f_mtc_check_TP_IMS_5312_01_isc( ImsInterfaceMonitor p_monitorCompRef ) runs on ImsTestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_5308_02_as)}, {mw_SipResponse(mdw_TP_IMS_5312_01_isc)}, {}, "TP_IMS_5308_02", "INVITE request", "TP_IMS_5312_01", "200OK", 0, false ) Loading Loading @@ -1165,7 +1294,7 @@ group checksTC_IMS_SS_0007 { /** * @desc Starts monitor component */ function f_mtc_check_TP_IMS_5110_01_as( function f_mtc_check_TP_IMS_5110_01_isc( ImsInterfaceMonitor p_monitorCompRef) runs on ImsTestCoordinator { Loading Loading @@ -1205,13 +1334,13 @@ group checksTC_IMS_SS_0007 { * @desc Starts monitor component behavior * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5097_09_as( function f_mtc_check_TP_IMS_5097_09_isc( ImsInterfaceMonitor p_monitorCompRef ) runs on ImsTestCoordinator { var template SipUrl v_EutB_ASUrl := mw_SipUrl_Host(f_GetEUTASServerAddress(PX_EUT_B)); p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_5097_09_as(v_EutB_ASUrl))}, {mw_SipRequest(mdw_TP_IMS_5097_09_isc(v_EutB_ASUrl))}, {}, "TP_IMS_5097_09", "INVITE request", Loading
AtsImsIot/AtsImsIot_Templates.ttcn +9 −9 Original line number Diff line number Diff line Loading @@ -275,7 +275,7 @@ module AtsImsIot_Templates { * * @desc INVITE Request checking TP_IMS_5310_01 on AS */ template INVITE_Request mdw_TP_IMS_5310_01_as template INVITE_Request mdw_TP_IMS_5310_01_isc modifies mw_INVITE_Request_Base := { msgHeader := { pChargingVector := mw_PChargingVector({ Loading @@ -287,10 +287,10 @@ module AtsImsIot_Templates { /** * * @desc INVITE Request checking TP_IMS_5308_02 on MW * @desc INVITE Request checking TP_IMS_5312_01 on MW */ template INVITE_Request mdw_TP_IMS_5308_02_mw modifies mw_INVITE_Request_Base := { template Response mdw_TP_IMS_5312_01_mw modifies mw_200OK_Base := { msgHeader := { pChargingVector := mw_PChargingVector({ {id := "access-network-charging-info", paramValue := *}, Loading @@ -300,10 +300,10 @@ module AtsImsIot_Templates { } /** * * @desc INVITE Request checking TP_IMS_5308_02 on AS * @desc INVITE Request checking TP_IMS_5312_01 on AS */ template INVITE_Request mdw_TP_IMS_5308_02_as modifies mw_INVITE_Request_Base := { template Response mdw_TP_IMS_5312_01_isc modifies mw_200OK_Base := { msgHeader := { pChargingVector := mw_PChargingVector({ {id := "access-network-charging-info", paramValue := *}, Loading @@ -319,7 +319,7 @@ module AtsImsIot_Templates { * * @desc INVITE Request checking TP_IMS_5097_09 */ template INVITE_Request mdw_TP_IMS_5097_09_as (template SipUrl p_EutB_ASUri) template INVITE_Request mdw_TP_IMS_5097_09_isc (template SipUrl p_EutB_ASUri) modifies mw_INVITE_Request_Base := { msgHeader := { route := { Loading
AtsImsIot/AtsImsIot_TestCases.ttcn +36 −19 Original line number Diff line number Diff line Loading @@ -53,9 +53,6 @@ module AtsImsIot_TestCases { //* eut trigger name User B const charstring c_userUE_B := "User B"; const charstring c_userUE_B2 := "User B2"; //* interface monitor name AS A const charstring c_as_A := "AS A"; const charstring c_as_B := "AS B"; } /** Loading Loading @@ -440,9 +437,14 @@ module AtsImsIot_TestCases { // test body f_mtc_userInitiateCall (v_ueA, v_userInfoB); f_mtc_check_TP_IMS_5097_01_gm(v_gmA); // Check1 f_mtc_check_TP_IMS_5097_01_gm(v_gmA); // Check1 (at step 4) f_mtc_check_TP_IMS_5097_01_mw(v_mw); // Check1 f_mtc_check_TP_IMS_5107_02_gm(v_mw); // Check2 (at step 28) f_mtc_check_TP_IMS_5107_02_mw(v_mw); // Check2 // postamble f_PO_user_home_deregistration(v_ueA); f_PO_user_home_deregistration(v_ueB); Loading @@ -464,33 +466,48 @@ module AtsImsIot_TestCases { 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_mw := f_cf_create_monitor(c_mw); var ImsInterfaceMonitor v_asB := f_cf_create_monitor(c_as_B); var ImsInterfaceMonitor v_iscB := f_cf_create_monitor(c_isc_B); var ImsUserInfo v_userInfoA := f_getAnyValidUser(PX_EUT_A); var ImsUserInfo v_userInfoB := f_getAnyValidUser(PX_EUT_B); var ImsUserInfo v_userInfoB := f_getAnyValidUser(PX_EUT_B); //@@ f_getHoldUser(PX_EUT_B); // map/connect component ports f_cf_user_up(v_ueA); f_cf_user_up(v_ueB); f_cf_monitor_up(v_gmA); f_cf_monitor_up(v_mw); f_cf_monitor_up(v_asB); f_cf_monitor_up(v_iscB); // // preamble f_mtc_userTriggerRegistration(v_ueA, v_userInfoA); f_mtc_userTriggerRegistration(v_ueB, v_userInfoB); // test body // f_mtc_StartAllTrafficCapture(); f_mtc_userInitiateCall (v_ueA, v_userInfoB); f_mtc_check_TP_IMS_5310_01_gm(v_gmA); // Check1 // f_mtc_userCheckRinging(v_ueB, ???); // f_mtc_userCheckRinging(v_ueA, ???)); // f_mtc_userTriggerAnswer(v_ueB, ???); // f_mtc_userCheckCallEstablished(v_ueA, ???); // f_mtc_userCheckCallEstablished(v_ueB, ???)); // f_mtc_userTriggerHold(v_ueB, ???); f_mtc_check_TP_IMS_5310_01_mw(v_mw); // Check1 f_mtc_check_TP_IMS_5310_01_as(v_asB); // Check1 f_mtc_check_TP_IMS_5310_01_isc(v_iscB); // Check1 f_mtc_check_TP_IMS_5308_02_mw(v_mw); // Check2 f_mtc_check_TP_IMS_5308_02_as(v_asB); // Check2 // f_mtc_userCheckUserOnHold(v_ueA, ???)); // f_mtc_userCheckUserOnHold(v_ueB, ???)); // f_mtc_userTriggerResume(v_ueB, ???); // f_mtc_userCheckCallResumed(v_ueA, ???)); f_mtc_check_TP_IMS_5312_01_mw(v_mw); // Check2 f_mtc_check_TP_IMS_5312_01_isc(v_iscB); // Check2 // Check3 is not correctly described // TODO Verify user B is informed of incoming call, Verify user A is informed that UE_B is ringing // f_mtc_userCheckCallResumed(v_ueB, ???)); // f_mtc_triggerEndCall(v_ueA, ???)); // f_mtc_userCheckCallEnded(v_ueB, ???)); // f_mtc_userCheckCallEnded(v_ueA, ???)); // postamble f_PO_user_home_deregistration(v_ueA); Loading @@ -513,7 +530,7 @@ module AtsImsIot_TestCases { var IotEquipmentUser v_ueB2 := f_cf_create_IotEquipmentUser(c_userUE_B2); var ImsInterfaceMonitor v_gmA := f_cf_create_monitor(c_gm_A); var ImsInterfaceMonitor v_mw := f_cf_create_monitor(c_mw); var ImsInterfaceMonitor v_asB := f_cf_create_monitor(c_as_B); var ImsInterfaceMonitor v_iscB := f_cf_create_monitor(c_isc_B); var ImsUserInfo v_userInfoA := f_getAnyValidUser(PX_EUT_A); var ImsUserInfo v_userInfoB := f_getAnyValidUser(PX_EUT_B); var ImsUserInfo v_userInfoB2 := f_getAnyValidUser(PX_EUT_B); //// TODO f_getAnyValidUser2 ? Loading @@ -524,7 +541,7 @@ module AtsImsIot_TestCases { f_cf_user_up(v_ueB2); f_cf_monitor_up(v_gmA); f_cf_monitor_up(v_mw); f_cf_monitor_up(v_asB); f_cf_monitor_up(v_iscB); // preamble f_mtc_userTriggerRegistration(v_ueA, v_userInfoA); Loading @@ -536,11 +553,11 @@ module AtsImsIot_TestCases { f_mtc_check_TP_IMS_5046_01_gm(v_gmA); f_mtc_check_TP_IMS_5046_01_mw(v_mw); // Check1 // Check2 TP_IMS_5067_01 ? is already covered in TP_IMS_5046_01 f_mtc_check_TP_IMS_5046_01_mw (v_asB); f_mtc_check_TP_IMS_5046_01_mw (v_iscB); f_mtc_check_TP_IMS_5097_09_as(v_asB); // Check5 on AS (step 6? in the message sequence) f_mtc_check_TP_IMS_5097_09_isc(v_iscB); // Check5 on AS (step 6? in the message sequence) f_mtc_check_TP_IMS_5110_01_as(v_asB); // Check4 on AS (step 19 in the message sequence) f_mtc_check_TP_IMS_5110_01_isc(v_iscB); // Check4 on AS (step 19 in the message sequence) f_mtc_check_TP_IMS_5110_01_mw(v_mw); // Check4 on MW (step 20 in the message sequence) // TODO checks 6, 7 Loading