AtsImsIot_TP_behavior_ISC.ttcn 3.64 KB
Newer Older
Bostjan Pintar's avatar
Bostjan Pintar committed
/*
 *  @author     STF 574, TTF006
 *  @version    $Id$
 *  @desc       This module provides the TP behaviour functions at IC interface
 */

module AtsImsIot_TP_behavior_ISC
{

	import from AtsImsIot_TestSystem { type ImsInterfaceMonitor, ImsTestCoordinator, SipInterfaceMonitor; }
	import from LibIot_PIXITS {modulepar PX_MAX_MSG_WAIT;}
	import from AtsImsIot_Templates {template all;}
	import from AtsImsIot_TypesAndValues { type SipMessage, SipMessageList, NAPTRmessage, EnumResponse, EnumQuery, SkipType; }
	import from LibIot_TestInterface { type EquipmentUser, IotEquipmentUser };
	import from LibIms_UpperTester {type ImsUserInfo;}
	import from LibIot_TypesAndValues {type SetFilterReq, SetFilterRsp;}
	import from LibIot_Functions { function f_setConformanceVerdict, f_setIotVerdictFAIL; }
	import from LibSip_SIPTypesAndValues all;
	import from LibSip_Templates all;
    
	import from LibSip_Common {
		type 
			GenericParam,
			SemicolonParam_List
	}   
    
	import from AtsImsIot_Functions all;
	import from AtsImsIot_Templates_MW all;
	import from LibIot_PIXITS {modulepar PX_EUT_A, PX_EUT_B;}
	// LibSip
	import from LibSip_SDPTypes { type SDP_media_desc_list };
	// LibMsrp
//	import from LibMsrp_TypesAndValues { type MsrpURI };
//	import from LibMsrp_Functions { function f_str2msrpUri };
//	import from LibMsrp_Templates { 
//		template 
//			m_msrpSend_Dummy, mw_msrpSEND_toPath_fromPath_contentType, 
//			m_msrpReport_Dummy, mw_msrpREPORT_success, 
//			m_msrpResponse_Dummy, mw_msrpResponse_toPath_fromPath, 
//			mw_toPath,  mw_fromPath, mw_msrpResponse_toPath_fromPath_with_transferReports,
//			m_msrpURIs_ToPath_Dummy, m_msrpURIs_FromPath_Dummy, 
//			mw_contentType 
//	};


    import from AtsImsIot_Templates_IC all;

    
group g_ISC {

	/**
	* @desc Starts monitor component behavior for TP_ISC_SCSCF_REGISTER_01
	* @param p_monitorCompRef Reference to monitor component
    * @remark source function f_mtc_check_TP_IC_IBCF_REGISTER_02
	*/
    function f_mtc_check_TP_ISC_SCSCF_REGISTER_01(
        SipInterfaceMonitor  p_monitorCompRef, 
        boolean p_checkMessage := false
    ) runs on ImsTestCoordinator {
        if (isvalue(p_monitorCompRef)){
            var ImsUserInfo v_userInfoA := f_getSipUserId(PX_EUT_A);
    
            p_monitorCompRef.start(
                f_Iot_Sip_receive(
                    {mw_SipRequest(mdw_TP_ISC_SCSCF_REGISTER_01(mw_From_AddrUnion_SipUrl(omit, v_userInfoA.publicId, v_userInfoA.domain),
                                                                mw_To_AddrUnion_SipUrl(omit, v_userInfoA.publicId, v_userInfoA.domain)))},
                    {mw_SipRequest(mw_REGISTER_Request_Base)},
                    {0, omit},
                    "TP_ISC_SCSCF_REGISTER_01 - REGISTER",
                    false,
                    p_checkMessage
                )
            );
            p_monitorCompRef.done;

            var charstring v_EUT_A_Addr := f_GetEUTPcscfIpAddress_1();
            var template SipUrl v_eutBUri := mw_SipUrl_Host(f_GetEUTScscfAddress_1());
                
            p_monitorCompRef.start(
                f_Iot_Sip_receive(
                    {mw_SipResponse(mw_Response_Base_ToFrom(c_statusLine200, ?, ?,?,?))}, //TODO To/From
                    //{mw_SipResponse(mdw_TP_IC_IBCF_REGISTER200OK_02(v_EUT_A_Addr, v_eutBUri))},
                    {mw_SipResponse (mw_200OK_Base)},
                    {0, omit},
                    "TP_ISC_SCSCF_REGISTER_01 - 200 OK",
                    false,
                    p_checkMessage
                )
            );
            p_monitorCompRef.done;
    
    	}
    }//end f_mtc_check_TP_ISC_SCSCF_REGISTER_01

} // end of g_ISC

} // end module AtsImsIot_TP_behavior_IC