Loading CW/CW_TC_Functions.ttcn +142 −15 Original line number Diff line number Diff line Loading @@ -39,41 +39,168 @@ module CW_TC_Functions { f_awaitingRegistration_IMS_gm(p_cSeq_s); // Awaiting SUBSCRIBE with event=reg f_awaitingSubscription(p_cSeq_s, mw_SUBSCRIBE_Request_IMS(*,*,*,*)); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // Testbody // INVITE to UE2@SUThome vc_xml_local := valueof(m_XmlBody_CW(m_CW({}))); // communication_waiting_indication LibIms_Steps.f_setHeadersINVITE(vc_cSeq, c_userProfile_UE2atSUThome); //TODO include XML with call-waiting-indication f_SendINVITE(m_INVITE_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, vc_recordRoute, omit, omit, m_MBody_SDP(vc_sdp_local))); f_SendINVITE(m_INVITE_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, vc_recordRoute, omit, omit, m_MBody_MIMESdpXml(vc_sdp_local, vc_xml_local))); f_awaitingResponse(mw_Response_Base(c_statusLine180, vc_callId, vc_cSeq)); // POSTAMBLE: await 200, termination f_awaitingResponse(mw_Response_Base(c_statusLine200, vc_callId, vc_cSeq)); f_SendACK(m_ACK_Request_Base(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via)); //awaiting ReInvite f_awaitingINVITE(mw_INVITE_Request_IMS(*,*,*,*)); f_SendBYE(m_BYE_Request_Base( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via)); f_awaitingResponse(mw_Response_Base(c_statusLine200, vc_callId, vc_cSeq)); f_sendResponse(m_Response_mbody(c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, f_route(), f_recordroute(), valueof(m_MBody_SDP(vc_sdp_local)))); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // POSTAMBLE: await ACK, await termination f_awaitingACK(mw_ACK_Request_Base(vc_callId)); // deregistration of UE f_IMS_postamble_awaitDeRegistration(); f_awaitingBYE(mw_BYE_Request_Base(vc_callId)); } // end f_Sip_CW_U01_001_PCSCF f_sendResponse(m_Response_Base(c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via)); /** * * @desc test case function f_Sip_CW_U01_002_PCSCF PCSCF component * @param p_cSeq_s actual cseq number * @verdict */ function f_Sip_CW_U01_002_PCSCF(in CSeq p_cSeq_s) runs on ImsComponent { var template PAssertedID v_PAsserted; // set PAssertedID v_PAsserted := m_PAssertedID(m_AddrUnion_NameAddr(PX_SIP_NameAddr_PAsserted)); // Request-Uri refers to home network (SUT) f_IMS_preamble_woRegistration(c_userProfile_PCSCFwithHomeUE, p_cSeq_s); // LibSip f_awaitingRegistration_IMS_gm(p_cSeq_s); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // Testbody // INVITE to UE2@SUThome vc_xml_local := valueof(m_XmlBody_CW(m_CW({}))); // communication_waiting_indication LibIms_Steps.f_setHeadersINVITE(vc_cSeq, c_userProfile_UE2atSUThome); f_SendINVITE(m_INVITE_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, vc_recordRoute, omit, omit, m_MBody_MIMESdpXml(vc_sdp_local, vc_xml_local))); f_awaitingResponse(mw_Response_AlertInfo(c_statusLine180, vc_callId, vc_cSeq, mw_AlertInfo("<urn:alert:service:call-waiting>"))); // POSTAMBLE: await 200, termination f_awaitingResponse(mw_Response_Base(c_statusLine200, vc_callId, vc_cSeq)); f_SendACK(m_ACK_Request_Base(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via)); f_SendBYE(m_BYE_Request_Base( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via)); f_awaitingResponse(mw_Response_Base(c_statusLine200, vc_callId, vc_cSeq)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // deregistration of UE f_IMS_postamble_awaitDeRegistration(); } // end f_Sip_CW_U01_001_PCSCF } // end f_Sip_CW_U01_002_PCSCF /** * * @desc test case function f_Sip_CW_U01_003_PCSCF PCSCF component * @param p_cSeq_s actual cseq number * @verdict */ function f_Sip_CW_U01_003_PCSCF(in CSeq p_cSeq_s) runs on ImsComponent { var template PAssertedID v_PAsserted; // set PAssertedID v_PAsserted := m_PAssertedID(m_AddrUnion_NameAddr(PX_SIP_NameAddr_PAsserted)); // Request-Uri refers to home network (SUT) f_IMS_preamble_woRegistration(c_userProfile_PCSCFwithHomeUE, p_cSeq_s); // LibSip f_awaitingRegistration_IMS_gm(p_cSeq_s); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // Testbody // INVITE to UE2@SUThome vc_xml_local := valueof(m_XmlBody_CW(m_CW({}))); // communication_waiting_indication LibIms_Steps.f_setHeadersINVITE(vc_cSeq, c_userProfile_UE2atSUThome); f_SendINVITE(m_INVITE_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, vc_recordRoute, omit, omit, m_MBody_MIMESdpXml(vc_sdp_local, vc_xml_local))); f_awaitingResponse(mw_Response_Base(c_statusLine415, vc_callId, vc_cSeq)); // POSTAMBLE: cancel, await ok f_cancelCall_await487(m_CANCEL_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, vc_route)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // deregistration of UE f_IMS_postamble_awaitDeRegistration(); } // end f_Sip_CW_U01_003_PCSCF /** * * @desc test case function f_Sip_CW_U01_004_PCSCF PCSCF component * @param p_cSeq_s actual cseq number * @verdict */ function f_Sip_CW_U01_004_PCSCF(in CSeq p_cSeq_s) runs on ImsComponent { var template PAssertedID v_PAsserted; // set PAssertedID v_PAsserted := m_PAssertedID(m_AddrUnion_NameAddr(PX_SIP_NameAddr_PAsserted)); // Request-Uri refers to home network (SUT) f_IMS_preamble_woRegistration(c_userProfile_PCSCFwithHomeUE, p_cSeq_s); // LibSip f_awaitingRegistration_IMS_gm(p_cSeq_s); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // Testbody // INVITE to UE2@SUThome vc_xml_local := valueof(m_XmlBody_CW(m_CW({}))); // communication_waiting_indication LibIms_Steps.f_setHeadersINVITE(vc_cSeq, c_userProfile_UE2atSUThome); f_SendINVITE(m_INVITE_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, vc_recordRoute, omit, omit, m_MBody_MIMESdpXml(vc_sdp_local, vc_xml_local))); f_awaitingResponse(mw_Response_Base(c_statusLine180, vc_callId, vc_cSeq)); //TODO await invite (sendonly) // POSTAMBLE: await 200 (initial invite), termination f_awaitingResponse(mw_Response_Base(c_statusLine200, vc_callId, vc_cSeq)); f_SendACK(m_ACK_Request_Base(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via)); f_SendBYE(m_BYE_Request_Base( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via)); f_awaitingResponse(mw_Response_Base(c_statusLine200, vc_callId, vc_cSeq)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // deregistration of UE f_IMS_postamble_awaitDeRegistration(); } // end f_Sip_CW_U01_004_PCSCF }// end group destination_UE Loading Loading
CW/CW_TC_Functions.ttcn +142 −15 Original line number Diff line number Diff line Loading @@ -39,41 +39,168 @@ module CW_TC_Functions { f_awaitingRegistration_IMS_gm(p_cSeq_s); // Awaiting SUBSCRIBE with event=reg f_awaitingSubscription(p_cSeq_s, mw_SUBSCRIBE_Request_IMS(*,*,*,*)); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // Testbody // INVITE to UE2@SUThome vc_xml_local := valueof(m_XmlBody_CW(m_CW({}))); // communication_waiting_indication LibIms_Steps.f_setHeadersINVITE(vc_cSeq, c_userProfile_UE2atSUThome); //TODO include XML with call-waiting-indication f_SendINVITE(m_INVITE_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, vc_recordRoute, omit, omit, m_MBody_SDP(vc_sdp_local))); f_SendINVITE(m_INVITE_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, vc_recordRoute, omit, omit, m_MBody_MIMESdpXml(vc_sdp_local, vc_xml_local))); f_awaitingResponse(mw_Response_Base(c_statusLine180, vc_callId, vc_cSeq)); // POSTAMBLE: await 200, termination f_awaitingResponse(mw_Response_Base(c_statusLine200, vc_callId, vc_cSeq)); f_SendACK(m_ACK_Request_Base(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via)); //awaiting ReInvite f_awaitingINVITE(mw_INVITE_Request_IMS(*,*,*,*)); f_SendBYE(m_BYE_Request_Base( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via)); f_awaitingResponse(mw_Response_Base(c_statusLine200, vc_callId, vc_cSeq)); f_sendResponse(m_Response_mbody(c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, f_route(), f_recordroute(), valueof(m_MBody_SDP(vc_sdp_local)))); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // POSTAMBLE: await ACK, await termination f_awaitingACK(mw_ACK_Request_Base(vc_callId)); // deregistration of UE f_IMS_postamble_awaitDeRegistration(); f_awaitingBYE(mw_BYE_Request_Base(vc_callId)); } // end f_Sip_CW_U01_001_PCSCF f_sendResponse(m_Response_Base(c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via)); /** * * @desc test case function f_Sip_CW_U01_002_PCSCF PCSCF component * @param p_cSeq_s actual cseq number * @verdict */ function f_Sip_CW_U01_002_PCSCF(in CSeq p_cSeq_s) runs on ImsComponent { var template PAssertedID v_PAsserted; // set PAssertedID v_PAsserted := m_PAssertedID(m_AddrUnion_NameAddr(PX_SIP_NameAddr_PAsserted)); // Request-Uri refers to home network (SUT) f_IMS_preamble_woRegistration(c_userProfile_PCSCFwithHomeUE, p_cSeq_s); // LibSip f_awaitingRegistration_IMS_gm(p_cSeq_s); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // Testbody // INVITE to UE2@SUThome vc_xml_local := valueof(m_XmlBody_CW(m_CW({}))); // communication_waiting_indication LibIms_Steps.f_setHeadersINVITE(vc_cSeq, c_userProfile_UE2atSUThome); f_SendINVITE(m_INVITE_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, vc_recordRoute, omit, omit, m_MBody_MIMESdpXml(vc_sdp_local, vc_xml_local))); f_awaitingResponse(mw_Response_AlertInfo(c_statusLine180, vc_callId, vc_cSeq, mw_AlertInfo("<urn:alert:service:call-waiting>"))); // POSTAMBLE: await 200, termination f_awaitingResponse(mw_Response_Base(c_statusLine200, vc_callId, vc_cSeq)); f_SendACK(m_ACK_Request_Base(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via)); f_SendBYE(m_BYE_Request_Base( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via)); f_awaitingResponse(mw_Response_Base(c_statusLine200, vc_callId, vc_cSeq)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // deregistration of UE f_IMS_postamble_awaitDeRegistration(); } // end f_Sip_CW_U01_001_PCSCF } // end f_Sip_CW_U01_002_PCSCF /** * * @desc test case function f_Sip_CW_U01_003_PCSCF PCSCF component * @param p_cSeq_s actual cseq number * @verdict */ function f_Sip_CW_U01_003_PCSCF(in CSeq p_cSeq_s) runs on ImsComponent { var template PAssertedID v_PAsserted; // set PAssertedID v_PAsserted := m_PAssertedID(m_AddrUnion_NameAddr(PX_SIP_NameAddr_PAsserted)); // Request-Uri refers to home network (SUT) f_IMS_preamble_woRegistration(c_userProfile_PCSCFwithHomeUE, p_cSeq_s); // LibSip f_awaitingRegistration_IMS_gm(p_cSeq_s); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // Testbody // INVITE to UE2@SUThome vc_xml_local := valueof(m_XmlBody_CW(m_CW({}))); // communication_waiting_indication LibIms_Steps.f_setHeadersINVITE(vc_cSeq, c_userProfile_UE2atSUThome); f_SendINVITE(m_INVITE_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, vc_recordRoute, omit, omit, m_MBody_MIMESdpXml(vc_sdp_local, vc_xml_local))); f_awaitingResponse(mw_Response_Base(c_statusLine415, vc_callId, vc_cSeq)); // POSTAMBLE: cancel, await ok f_cancelCall_await487(m_CANCEL_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, vc_route)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // deregistration of UE f_IMS_postamble_awaitDeRegistration(); } // end f_Sip_CW_U01_003_PCSCF /** * * @desc test case function f_Sip_CW_U01_004_PCSCF PCSCF component * @param p_cSeq_s actual cseq number * @verdict */ function f_Sip_CW_U01_004_PCSCF(in CSeq p_cSeq_s) runs on ImsComponent { var template PAssertedID v_PAsserted; // set PAssertedID v_PAsserted := m_PAssertedID(m_AddrUnion_NameAddr(PX_SIP_NameAddr_PAsserted)); // Request-Uri refers to home network (SUT) f_IMS_preamble_woRegistration(c_userProfile_PCSCFwithHomeUE, p_cSeq_s); // LibSip f_awaitingRegistration_IMS_gm(p_cSeq_s); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // Testbody // INVITE to UE2@SUThome vc_xml_local := valueof(m_XmlBody_CW(m_CW({}))); // communication_waiting_indication LibIms_Steps.f_setHeadersINVITE(vc_cSeq, c_userProfile_UE2atSUThome); f_SendINVITE(m_INVITE_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, vc_recordRoute, omit, omit, m_MBody_MIMESdpXml(vc_sdp_local, vc_xml_local))); f_awaitingResponse(mw_Response_Base(c_statusLine180, vc_callId, vc_cSeq)); //TODO await invite (sendonly) // POSTAMBLE: await 200 (initial invite), termination f_awaitingResponse(mw_Response_Base(c_statusLine200, vc_callId, vc_cSeq)); f_SendACK(m_ACK_Request_Base(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via)); f_SendBYE(m_BYE_Request_Base( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via)); f_awaitingResponse(mw_Response_Base(c_statusLine200, vc_callId, vc_cSeq)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // deregistration of UE f_IMS_postamble_awaitDeRegistration(); } // end f_Sip_CW_U01_004_PCSCF }// end group destination_UE Loading