Loading AtsImsIot/AtsImsIot_Behavior.ttcn +41 −1 Original line number Diff line number Diff line Loading @@ -12,7 +12,7 @@ module AtsImsIot_Behavior { import from LibIot_TypesAndValues {type DefaultList;} import from LibIot_TestInterface {type TestCoordinator, InterfaceMonitor;} import from LibSip_SIPTypesAndValues {type Request, Response;} import from LibSip_SIPTypesAndValues {type Request, Response, CallId;} import from LibSip_Templates { template Loading Loading @@ -266,6 +266,46 @@ module AtsImsIot_Behavior { } } /** * @desc Starts monitor component behavior for TP_IMS_5088_01 (gm) * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5088_01_gm(InterfaceMonitor p_monitorCompRef) runs on TestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_5088_01_gm)}, {mw_SipRequest(mw_MESSAGE_Request_Base(?))}, "TP_IMS_5088_01_gm", "REGISTER request", 0, false ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior for TP_IMS_5088_01 (mw) * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5088_01_mw(InterfaceMonitor p_monitorCompRef) runs on TestCoordinator { var CallId v_callId; // TODO what it the call id? not initialized p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_5088_01_mw(v_callId, mw_SIP_URI("hostname")))}, // TODO getHostname(PCSCF) how to hande the callid? {mw_SipRequest(mw_MESSAGE_Request_Base(?))}, "TP_IMS_5088_01_mw", "200_OK response", 0, false ) ); p_monitorCompRef.done; } }// end module No newline at end of file AtsImsIot/AtsImsIot_Functions.ttcn +1 −0 Original line number Diff line number Diff line Loading @@ -194,6 +194,7 @@ module AtsImsIot_Functions { return v_status; } } Loading AtsImsIot/AtsImsIot_Templates.ttcn +34 −1 Original line number Diff line number Diff line Loading @@ -78,7 +78,40 @@ module AtsImsIot_Templates { } } template REGISTER_Request mdw_TP_IMS_5088_01_gm modifies mw_REGISTER_Request_Base := { msgHeader := { authorization := { fieldName := AUTHORIZATION_E, body := ? // TODO Authorization_header containing an integrity-protected_parameter indicating no } } } template NOTIFY_Request mdw_TP_IMS_5088_01_mw(CallId p_callId, template SipUrl p_PCSCF_SIP_URI) modifies mw_NOTIFY_Request_Base := { requestLine := { requestUri := p_PCSCF_SIP_URI }, // TODO check if this is the P-CSCF_SIP_URI msgHeader := { event := { fieldName := EVENT_E, eventType := pattern "*reg_event*", // TODO check content eventParams := *}, route := ? }, // TODO route header indicating the original Route_header from SUBSCRIBE messageBody := ? // TODO } }//end group group config { template SipUrl mw_SIP_URI (charstring p_host):= { scheme := "sip", userInfo := *, hostPort := { host := p_host, portField := * }, urlParameters := *, headers := * } } // end group Loading AtsImsIot/AtsImsIot_TestCases.ttcn +32 −1 Original line number Diff line number Diff line Loading @@ -107,7 +107,7 @@ module AtsImsIot_TestCases { f_mtc_check_TP_IMS_5011_01_gm(v_gmA); f_mtc_check_TP_IMS_5011_01_mw(v_mw); f_mtc_userCheckRegistration(v_ueB); f_mtc_userCheckRegistration(v_ueB, PX_EUT_B); // postamble f_PO_user_home_deregistration(v_ueB); Loading @@ -118,6 +118,37 @@ module AtsImsIot_TestCases { f_cf_monitor_down(v_mw); } /** * @desc IMS network supports network initiated re-registration * upon receipt of a new registration with new contact information * @see TD_IMS_0005 in ETSI TS 186 011-2 V2.3.1 cause 4.5.2.6 */ testcase TC_IMS_0005() runs on TestCoordinator system SystemInterface { // create components var EutTrigger v_ueB := f_cf_create_trigger(c_trigger_B); var InterfaceMonitor v_gmA := f_cf_create_monitor(c_gm_A); var InterfaceMonitor v_mw := f_cf_create_monitor(c_mw); // map/connect component ports f_cf_trigger_up(v_ueB); f_cf_monitor_up(v_gmA); f_cf_monitor_up(v_mw); // test body f_mtc_userTriggerRegistration(v_ueB, PX_EUT_B); f_mtc_check_TP_IMS_5088_01_gm(v_gmA); f_mtc_check_TP_IMS_5088_01_mw(v_mw); f_mtc_userCheckRegistration(v_ueB, PX_EUT_B); // postamble f_PO_user_home_deregistration(v_ueB); //unmap/disconnet component ports f_cf_trigger_down(v_ueB); f_cf_monitor_down(v_gmA); f_cf_monitor_down(v_mw); } /** * @desc IMS network supports properly application services based on Loading Loading
AtsImsIot/AtsImsIot_Behavior.ttcn +41 −1 Original line number Diff line number Diff line Loading @@ -12,7 +12,7 @@ module AtsImsIot_Behavior { import from LibIot_TypesAndValues {type DefaultList;} import from LibIot_TestInterface {type TestCoordinator, InterfaceMonitor;} import from LibSip_SIPTypesAndValues {type Request, Response;} import from LibSip_SIPTypesAndValues {type Request, Response, CallId;} import from LibSip_Templates { template Loading Loading @@ -266,6 +266,46 @@ module AtsImsIot_Behavior { } } /** * @desc Starts monitor component behavior for TP_IMS_5088_01 (gm) * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5088_01_gm(InterfaceMonitor p_monitorCompRef) runs on TestCoordinator { p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_5088_01_gm)}, {mw_SipRequest(mw_MESSAGE_Request_Base(?))}, "TP_IMS_5088_01_gm", "REGISTER request", 0, false ) ); p_monitorCompRef.done; } /** * @desc Starts monitor component behavior for TP_IMS_5088_01 (mw) * @param p_monitorCompRef Reference to monitor component */ function f_mtc_check_TP_IMS_5088_01_mw(InterfaceMonitor p_monitorCompRef) runs on TestCoordinator { var CallId v_callId; // TODO what it the call id? not initialized p_monitorCompRef.start( f_imsIot_receive( {mw_SipRequest(mdw_TP_IMS_5088_01_mw(v_callId, mw_SIP_URI("hostname")))}, // TODO getHostname(PCSCF) how to hande the callid? {mw_SipRequest(mw_MESSAGE_Request_Base(?))}, "TP_IMS_5088_01_mw", "200_OK response", 0, false ) ); p_monitorCompRef.done; } }// end module No newline at end of file
AtsImsIot/AtsImsIot_Functions.ttcn +1 −0 Original line number Diff line number Diff line Loading @@ -194,6 +194,7 @@ module AtsImsIot_Functions { return v_status; } } Loading
AtsImsIot/AtsImsIot_Templates.ttcn +34 −1 Original line number Diff line number Diff line Loading @@ -78,7 +78,40 @@ module AtsImsIot_Templates { } } template REGISTER_Request mdw_TP_IMS_5088_01_gm modifies mw_REGISTER_Request_Base := { msgHeader := { authorization := { fieldName := AUTHORIZATION_E, body := ? // TODO Authorization_header containing an integrity-protected_parameter indicating no } } } template NOTIFY_Request mdw_TP_IMS_5088_01_mw(CallId p_callId, template SipUrl p_PCSCF_SIP_URI) modifies mw_NOTIFY_Request_Base := { requestLine := { requestUri := p_PCSCF_SIP_URI }, // TODO check if this is the P-CSCF_SIP_URI msgHeader := { event := { fieldName := EVENT_E, eventType := pattern "*reg_event*", // TODO check content eventParams := *}, route := ? }, // TODO route header indicating the original Route_header from SUBSCRIBE messageBody := ? // TODO } }//end group group config { template SipUrl mw_SIP_URI (charstring p_host):= { scheme := "sip", userInfo := *, hostPort := { host := p_host, portField := * }, urlParameters := *, headers := * } } // end group Loading
AtsImsIot/AtsImsIot_TestCases.ttcn +32 −1 Original line number Diff line number Diff line Loading @@ -107,7 +107,7 @@ module AtsImsIot_TestCases { f_mtc_check_TP_IMS_5011_01_gm(v_gmA); f_mtc_check_TP_IMS_5011_01_mw(v_mw); f_mtc_userCheckRegistration(v_ueB); f_mtc_userCheckRegistration(v_ueB, PX_EUT_B); // postamble f_PO_user_home_deregistration(v_ueB); Loading @@ -118,6 +118,37 @@ module AtsImsIot_TestCases { f_cf_monitor_down(v_mw); } /** * @desc IMS network supports network initiated re-registration * upon receipt of a new registration with new contact information * @see TD_IMS_0005 in ETSI TS 186 011-2 V2.3.1 cause 4.5.2.6 */ testcase TC_IMS_0005() runs on TestCoordinator system SystemInterface { // create components var EutTrigger v_ueB := f_cf_create_trigger(c_trigger_B); var InterfaceMonitor v_gmA := f_cf_create_monitor(c_gm_A); var InterfaceMonitor v_mw := f_cf_create_monitor(c_mw); // map/connect component ports f_cf_trigger_up(v_ueB); f_cf_monitor_up(v_gmA); f_cf_monitor_up(v_mw); // test body f_mtc_userTriggerRegistration(v_ueB, PX_EUT_B); f_mtc_check_TP_IMS_5088_01_gm(v_gmA); f_mtc_check_TP_IMS_5088_01_mw(v_mw); f_mtc_userCheckRegistration(v_ueB, PX_EUT_B); // postamble f_PO_user_home_deregistration(v_ueB); //unmap/disconnet component ports f_cf_trigger_down(v_ueB); f_cf_monitor_down(v_gmA); f_cf_monitor_down(v_mw); } /** * @desc IMS network supports properly application services based on Loading